Всё для сети (Internet через последовательный порт)
1. Введение
Примерно год назад передо мной встала проблема - есть один компьютер, подключенный к Интернету через локальную сеть, и рядом с ним стоит ещё один, но без сети. Причём денег на ещё две сетевых карты нет. А хочется, чтобы был более-менее полноценный интернет и на втором компьютере. Единственным почти бесплатным вариантом оказался нуль-модем и подобие обычного dialup-интернета.

Как оказалось, это нужно не только мне, но есть ещё многие, которых интересует такое соединение. Именно им и адресуется эта статья, хотя она может оказаться полезной и тем, у кого похожее соединение, но через сетевые карты.

Впрочем, как говорится, "аппетит приходит во время еды". Сейчас у меня между компьютерами 10Mbit ethernet-линк, и время соединения на 115Kbit уже ушло. И тем не менее, даже этого иногда оказывается мало, особенно когда приходится копировать объём в несколько гигабайт. Так что теперь уже помышляю о 100Mbit ethernet, как когда-то о 10Mbit.

Всё, что здесь написано, я проверял, когда у меня на компьютере, имеющем выход в интернет (далее я называю его сервером) у меня стояла Windows'98, а на втором (я его называю клиентом) - сначала Windows'95 OSR2, а потом - Windows'98SE.

Еще некоторую информацию можно найти на сайте http://www.kevin-wells.com/net


2. Железо

Итак, сначала сделаем кабель, которым будем соединять компьютеры. Вот назначение контактов 25(9)-контактного разъёма:
    
     7(5) - логическая земля
     2(3) - TxD - передаваемые данные
     3(2) - RxD - принимаемые данные
     4(7) - RTS - запрос передачи
     5(8) - CTS - готов к передаче
     6(6) - DSR - АПД готова
    20(4) - DTR - Подсоединить АПД к линии
     8(1) - DCD - детектор принимаемых данных
    22(9) - RI - индикатор вызова
    
Кабель 1

Кабель 2

Минимальный вариант кабеля нарисован на Рис. 1

RxD и TxD - по этим линиям передается полезный сигнал, несущий информацию.

RTS и CTS - это аппаратные сигналы готовности. В данном варианте кабеля они просто не используются - считается, что аппаратура противоположной стороны всегда готова к приёму. А готовность программного обеспечения передаётся специальными сигнальными байтами через линии RxD и TxD. Естественно, эта добавочная информация отъедает часть пропускной способности, хотя и весьма небольшую. Так что если соединить ещё и RTS c CTS, то можно немного увеличить "толщину" полученного канала. Такой вариант кабеля - на Рис. 2

DTR и DSR - вообще-то эти сигналы частенько считаются ещё менее обязательными, чем RTS и CTS. Но для нашей системы они всё таки необходимы, так как DTR и DSR будут использоваться для эмуляции состояния модема on-line или off-line. Если уж совсем большие проблемы с кабелем, то можно и эти сигналы не делать, а просто соединить DTR с DSR на каждой стороне кабеля. Но тогда полученный "модем" не сможет "вешать трубку".

Каждую сигнальную линию скрутите с "логической землёй". Иначе на большой скорости будет много ошибок передачи, либо вообще не удастся соединиться. Я использовал "витую пару" 5-го уровня (4 пары в кабеле). При этом белые провода были все соединены с логической землёй. Это мне автоматически давало соединение логической земли, и экранирование сигнальных линий. Длина кабеля была около 5 метров и соединение на 115200 устанавливалось без проблем, ошибок при передачи не было вообще. Ещё одна важная деталь - обязательно соедините корпуса компьютеров толстым проводом (не меньше 1мм), иначе рискуете сжечь один из портов.

3. Настройка драйверов в Windows

  1. Устанавливаем драйвер нуль-модема. Для этого скачайте файл. Далее через Панель Управления говорим, что хотим установить новый модем, обязательно ставим флажок "не определять тип модема автоматически", и говорим, что хотим устанавливать с диска. Указываем только что скачанный файл и там выбираем "RAS Serial cable between 2 PCs". Это делаем, естественно, на обоих компьютерах
    Драйвер взят с сайта http://www.kevin-wells.com/net/scripts.html

  2. Настраиваем порты: скорость 115200 (сначала можно поставить поменьше, например 4800, а потом увеличивать), 8 бит данных, один стоп-бит, без контроля чётности, с программной - Xon/Xoff (для первого варианта кабеля) или аппаратной (для второго варианта кабеля) передачей сигналов готовности. Проверяем, что использование буферов FIFO включено (кнопка "Advanced"), если конечно клиентский компьютер не настолько древний, что его порты не поддерживают стандарт UART 16550. Убедимся, что в свойствах модема установлены те же параметры.

  3. Устанавливаем dialup networking на обоих компьютерах. На имеющем выход в интернет также необходимо установить RAS server. В Windows'98 он входит в дистрибутив, а для Windows'95 понадобится Microsoft PLUS.

  4. Смотрим, какие сетевые протоколы и службы установлены. Должен быть установлен протокол TCP/IP, а также Клиент для сетей Microsoft и Служба доступа к файлам и принтерам сетей Microsoft. На том компьютере, который будет сервером будет две копии протокола TCP/IP - одна для сетевой карты, и одна для dialup. Можно также установить протокол IPX на обоих компьютерах, но не обязательно.

  5. Переходим к настройке TCP/IP на серверном компьютере. Всё, связанное с сетевой картой не трогаем, если всё ещё работает. Для dialup: IP-адрес - 192.168.0.1; маска подсети - 255.255.255.0; всё остальное не важно.

  6. Настраиваем TCP/IP на втором компьютере. IP-адрес - 192.168.0.2; маска подсети - 255.255.255.0; шлюз(gateway) - 192.168.0.1; DNS и WINS - так же, как на первом компьютере для сетевой карты, только нужно сделать другое имя для компьютера. Всё остальное не отличается от настройки сети на первом компьютере, которую вы делали, когда проводили интернет.


3. Настройка соединения по dialup

Всё нижесказанное относится к случаю, когда сервер - Windows'98, а клиент - Windows'95.
Кроме того, я делал всё это почти год назад, и уже более полугода не пользуюсь Windows'95/98, так что пишу всё так, как помню. Про какие-то подробности, которые выяснятся в процессе настройки, пишите мне, и я внесу это сюда.

  1. Первым делом включаем RAS server и разрешаем входящие соединения. Можно ещё и пароль установить, не знаю, требуется ли это. Тип сервера - default.

  2. Делаем "новое dialup-соединение" на клиентском компьютере. Пароль - тот же, что сделали при настройке RAS server'а; тип сервера - PPP, Internet.

  3. Пробуем соединяться. При этом следим, что происходит с RAS server'ом на первом компьютере. Если он вообще никак не реагирует, значит или проблемы с железом, или с настройкой драйверов. Железо можно проверить этой или этой программой (делать это под "голым" ДОСом).Если соединение происходит, но останавливается или прерывается на "проверке имени пользователя и пароля" - возможно это из-за ошибок при передаче. Снизьте скорость и попробуйте ещё раз. Если всё равно не помогает, попробуйте поменять "тип сервера" на RAS server'е.

  4. Когда соединение прошло успешно, на клиентском компьютере появится перемигивающаяся иконка в SystemTray. Кликнув на неё, можно посмотреть скорость соединения, объём переданной и полученной информации... Те, кто когда либо пользовался интернетом через модем и так всё знают, а те кто не пользовался - разберётесь.

  5. Последняя стадия проверки - делаем ping 192.168.0.1 c клиентской машины и ping 192.168.0.2 с серверной. Если всё в порядке, то переходим к настройке ПО на сервере. Если нет - проверяем настройки протокола TCP/IP на обоих компьютерах.

Теперь о том, что делать если на клиентской машине стоит Windows'98 и по какой-то причине вам не хочется её менять на Windows'95.
Проблема при этом возникает такая - при попытке соединиться через dialup, на клиентской машине выскакивает окошко "имя пользователя, пароль или домен указаны неправильно", и предлагается ввести новые имя пользователя/пароль/домен. Но ничего не помогает, и после трёх попыток сервер разрывает соединение.
Чтобы это преодолеть, мне пришлось полностью удалить все сетевые протоколы и сам PPP тоже, и поставить то же самое, но взятое из Windows'95. Если вы считаете, что сможете это сделать, то скачайте этот набор inf-файлов для всех нужных протоколов из Windows'95, и когда будете устанавливать сетевые протоколы нажимайте "установить с диска" и указывайте на папку со скачанными файлами. Ещё, конечно, понадобится дистрибутив Windows'95; все эти файлы взяты из Windows'95 OSR2. Перед этим рекомендую переименовать папку, где лежит дистрибутив Windows'98, чтобы сильно умная винда не сказала, что "у меня есть что-то более новое, чем ты мне даёшь... вот его и установлю, и даже тебя не спрошу"


5. Настройка маскарадинга

Тут уж выбирайте сами, чем пользоваться - можно и WinGate'ом, но это будет только прокси, а не маскарадинг. Рекомендую программу WinRoutePro от Tiny Software. Скачать её, необходимую "улучшалку" и документацию можно у меня - ftp://phantom.land7.nsu/pub/distribs/NetServers/WinRoutePro     (к сожалению, ftp доступен только из Новосибирска - такой уж firewall)

Скачивайте программу, устанавливайте. После перезагрузки запускайте WinRoute Administration дважды кликнув на иконке в SystemTray.

  • Settings->Accounts - тут можно изменить пароль для администратора. Сделайте это.

  • Settings->Interface table... - тут должно быть два сетевых интерфейса, имеющихся в системе. Это Network Ethernet Adapter и RAS line. В свойствах Network Ethernet Adapter включаем "perform NAT with address of this adapter on all communications passing through" и "exclude this computer from NAT".

  • Всё, теперь сеть работает как надо. Осталось поотключать в WinRoute все ненужные сервисы типа telnet proxy, mail spooling, DNS, DHCP... Всё это делается через меню Settings. Также обратите внимание на Settings->Advansed->Remote Administration.

  • Вообще WinRoute - штука мощная, так что можно и документацию почитать.

Комментарий: даже не пытайтесь использовать Internet Connection Sharing из Windows'98SE. Почему-то Microsoft решила, что так не бывает - интернет через локалку, а локальная сеть, в которую нужно шарить интернет - через модем.

 


Александр Полянских, 2 октября 2000


На главную

Автор сайта: Гордеев Кирилл(MegaDoizer)2001

Перейти в следующий раздел
Реклама