Site Mascot
 

Не удивляйтесь, сайт переехал: был http://smacker.fatal.ru, стал http://smacker.heliohost.org.

COM-порт возвращается...

03.12.2005 7:53

Во второй части эпопеи речь пойдёт о установлении соединения через COM-порт по протоколу SLIP.

 
Матчасть
Для соединения нам потребуется всё тот же нуль-модемный кабель на девяти-штырьковый COM-порт, который в моём случае /dev/ttyS0 на обеих машинах.

 

Этап первый — подготовительный
Тут всё то же самое, что и в прошлый раз — но для сохранения целостности повествования, всё же повторюсь.
Выбираем IP-адреса и имена для наших машин и указываем их в /etc/hosts. Адреса желательно брать из интервалов, закреплённых стандартом за локальными сетями. В моём случае /etc/hosts выглядит так:
 127.0.0.1	 localhost.localdomain   localhost
 192.168.93.1     desktop
 192.168.93.2     notebook 
Кто будет использовать какой IP — опять-таки очевидно. Идём дальше.

 

Этап второй — поднимаем сетевой интерфейс
Снова мы не будем терять попусту силы, и сразу напишем скрипт.
Я назвал его /sbin/slip-on
 #!/bin/bash
 /sbin/slattach -p slip -s 115200 /dev/ttyS0 &
 sleep 1
 /sbin/ifconfig sl0 desktop pointopoint notebook up
 /sbin/route add notebook dev sl0 

 

Пауза в 1 секунду между инициализацией SLIP и поднятием сетевого интерфейса понадобилась для того, чтобы скрипт стабильно отрабатывал без ошибок. Без неё установка сетевого интерфейса была нестабильной — то скрипт поднимет SLIP, а то и нет; пожалуется на отсутствие девайса sl0 — и сети в итоге не будет. Я попробовал «притормозить» развитие событий на этом этапе, и угадал.
Такой же скрипт надо создать на ноутбуке, нужно только поменять notebook и desktop местами.
Проверить, как всё работает, можно командой ifconfig, она должна показать параметры сетвых интерфейсов, и там должен быть наш sl0; можно посмотреть в route таблицу маршрутизации; наконец, можно дать ping notebook или ping desktop.

 

Этап второй — отключение SLIP-соединения
В старой-старой статье «The Joy (and Agony) of SLIP» (аж 94-го года, в linux journal), с которой я решил начать своё знакомство со SLIP, как всегда не было предложено средств для отключения установленного соединения. Так что снова мне пришлось заниматься самодеятельностью и писать скрипт /sbin/slip-off:
 #!/bin/bash
 /sbin/route del notebook
 /sbin/ifconfig sl0 down
 sleep 1
 kill `ps ax | grep 115200 | grep slip | grep -v grep | gawk '{print $1}'`
 /sbin/rmmod slip
 /sbin/rmmod slhc 

 

Собственно, всё просто: убираем запись из таблицы маршрутизации, убираем сетевой интерфейс, отключаем привзяку SLIP к COM-порту. Заодно выгружаем модули SLIP-а, чтобы не мешались под ногами. Этот скрипт одинаковый на обеих машинах.
И в конце опять-таки надо сделать оба скрипта исполняемыми: chmod a+x /sbin/slip-o*

 

Послесловие
Как и в прошлом случае, скорость соединения порядка 10 Кб/с. Однако в отличие от PPP, однажды поднятый SLIP не требует специальных параметров для перевода себя в режим «ожидания»; он всегда будет ждать соединения с другой машины, переходя в режим ожидания после завершения каждого соединения, совершенно так же, как PLIP — о котором я расскажу позднее.
Для перекачки файлов снова испоьзуем MC, для работы на удалённой машине — сервер sshd и клиент ssh.
  1. Я буду рад, если вы оставите свой отзыв об этой заметке:

    Никнейм

    Email

    URL

    Заголовок комментария

    Проверка на человечность
    - Введите буквы:
    The CAPTCHA image