Домашняя локалка своими руками (пособие начинающего админа)

С тех пор, как была введена “поминутка” за телефон, перед многими пользователями встала острая проблема: и поиграть в квака/дума/дюка хочется, и файлы какие-нибудь у друга скачать, и деньги платить ни у кого желания нет. Однако многие имеют возможность сделать все вышеперечисленное, не платя за это ни гроша, да еще и раз в 200 быстрее, чем на самом крутом модеме. Все, что для этого нужно - провести локальную сеть, о чем, собственно, и пойдет речь в этой статье.

Итак, приступим. Для начала разберемся, какие типы локалок бывают, чтобы вы сами смогли определить какой из них больше всего подходит.

Первый тип – сети с использованием для соединения компьютеров коаксиального кабеля (такой же, как и для телевизионных антенн, но с другим межволновым сопротивлением). Он, в свою очередь, подразделяется на два подтипа – так называемые “толстый” и “тонкий” Ethernet. Суть первого состоит в том, что в качестве магистрали передачи данных в нем используется очень толстый и очень твердый кабель, к которому через специальные ресиверы подключаются компьютеры. Внешне схема такой сети выглядит так:

На рисунке квадратиками обозначены ресиверы.

К плюсам данной сети можно отнести большую, чем у тонкого Ethernet дальность связи между компьютерами (примерно 500 м ), надежность работы, а к минусам -то, что кабель, используемый для ее построения больше похож на стальную трубу, чем на кабель и очень неудобен для прокладки, а также еще и то, что вам придется покупать ресиверы.

Теперь рассмотрим “тонкий” Ethernet. В отличие от “толстого”, компьютеры подключаются напрямую к шине передачи данных и для этого не требуются ресиверы. На концах магистрали устанавливаются специальные заглушки – “терминаторы”.

Этот вид Ethernet является самым простым и не требует при монтаже особых технических знаний, однако обеспечивает вполне приемлемые скорость передачи данных и дальность связи – 10 мегабит в секунду и 168 метров (максимальная длина всей сети) соответственно. К его недостаткам можно отнести то, что при обрыве кабеля нарушается работа всей сети (т.к. при отсутствии на конце кабеля терминатора сигнал начинает отражаться обратно и при этом сильно искажается)

Второй тип – сети, для передачи информации в которых используется витая пара (обычно его называют “звезда”).

Как видно из рисунка, центром такой сети является концентратор (HUB), к которому подключаются все машины. Для ее прокладки используют витую пару 3-й, 4-й и 5-й категорий. Для подключения кабеля используются разъемы rj-45. К достоинствам этого типа можно отнести высокую скорость передачи данных (до 100 Mbit/s) и надежную работу (если оборвется кабель на одной машине, то сеть остается работоспособной), а к минусам – дороговизну концентратора и то, что для установки разъемов rj-45 вам понадобится специальный инструмент.

Итак, с основными типами мы разобрались. Конечно, описанные выше типы сетей не единственные, и существует множество других разновидностей, но они применяются крайне редко или из-за своей устаревшей конструкции, или из-за специфичности использования, поэтому остановимся на этих трех “китах”. Кого же выбрать? Если в локалке намечается от двух до шести-семи компов, то я бы посоветовал вам “тонкий” Ethernet. На мой взгляд, это самое удобное и дешевое решение. Ну а если вы объединяете 8-30-100 и т.д. компов, то тут уж без витой пары не обойтись (хотя, конечно, можно использовать и коаксиальный кабель, но его будет не очень-то удобно устанавливать).

Теперь рассмотрим сетевые карточки. Тут тоже существует большая дилемма: ISA/PCI, 10 mbps/100 mbps, наличие на них разъемов bnc/rj-45/aui и т.д.

Очевидно, что сегодня уже неактуально покупать сетевушку под шину ISA, т.к. она давно устарела и поддерживает не очень-то большую скорость передачи по сравнению с аналогичными картами под PCI. Что же касается 10 mbps или 100 mbps, то уже многие карты совместимы с обоими типами, а наличие bnc/rj-45/aui будет зависеть от того, какой тип сети вы выбрали. В качестве самой оптимальной сетевой платы для домашней локалки можно было бы рекомендовать REALTEK RTL8029 PCI . Она имеет на борту все перечисленные выше типы разъемов и контрольные светодиоды, поддерживает скорость передачи в 20 mbps при full duplex (для этого нужна витая пара и full duplex hub), и многое другое. Ее стоимость не превышает 10-9-12$. Что касается конфликтов с железом, то единственный замеченный за ней “глюк” - то, что она требует установку драйверов для некоторых материнских плат с чипсетом VIA.

Ну что же, с выбором сетевой карты определились, со стандартом тоже, тогда приступим. Для начала рассмотрим установку “тонкого” Ethernet (“толстый” я решил не рассматривать, т.к. мало кто решится на такое издевательство над самим собой :). Сперва я опишу железную сторону дела, а затем и софтовую. Итак, для работы вам понадобится следующее: сетевая плата, коаксиальный кабель RG-58 (лучше всего) или РК-50 (хоть он и советского производства, но тоже работает неплохо), T- и BNC-коннекторы (что это такое, объясню позже), два терминатора, кусачки, паяльник.

Для соединения компьютеров используются специальные Т-коннекторы, к которым, в свою очередь, подключаются BNC. Внешне это выглядит примерно так:

Что же касается концов сети, то на Т-коннекторы последних машин с одной стороны надевается BNC с кабелем, а с другой – терминатор.

Начнем с прокладки кабеля и припайки к нему разъемов. Вместо дорогих и неудобных при установке импортных BNC можно посоветовать купить советские СР-50 (те, что на большинстве осциллографов). Они намного более удобны при сборке и не требуют специального инструмента для обжатия. Внимание! Очень важно, чтобы разъемы были хорошо припаяны и надежно закреплены, т.к. от этого очень сильно зависит правильность работы сети. Далее присоединяем их к Т-коннекторам, а на концы сети устанавливаем терминаторы. Вместо терминаторов очень неплохо подходят обычные резисторы по 51 Ом, которые следует включить между центральным выводом и корпусом Т-коннектора (желательно их припаять). Теперь подключаем Т-коннекторы к сетевым платам и на этом железная часть дела завершена.

Теперь рассмотрим “звезду”. В отличие от коаксиальной сети для ее установки вам понадобиться hub (концентратор). При его выборе вы обязательно должны учесть, что количество портов необходимо выбрать с запасом на случай расширения сети. Советую покупать только активный и поддерживающий full-duplex hub. Что же касается витой пары, то лучше всего будет покупка 5-й категории. Даже если вы планируете сеть на 10 Mbit/s, то через несколько лет у вас будет возможность без замены всех кабелей модернизировать ее на 100 Mbit/s.

Для подключения кабеля используют разъемы rj-45 (очень похожие на те, что в телефонах и модемах). Лучше всего установить их еще в фирме, при покупке, т.к. без специальных плоскогубцев у вас не получится их проинсталлировать (ну, вообще-то многие практикуют обжимать вилки rj-45 с помощью обыкновенной отвертки, но начинающим не советую таким извращением заниматься – прим. ред.). Далее все очень просто. Выбираем примерный центр сети, там располагаем hub, подключаем к нему все компы. Вот и все.

И, наконец, переходим к софту. Для начала следует убедиться, что сетевая плата правильно установлена в Windows и ни с чем не конфликтует. Это можно легко узнать, посмотрев Панель управления | Система | Устройства | Сетевые платы. Далее заходим Панель управления | Сеть. В окошке обязательно должны присутствовать следующие компоненты:

  • клиент для сетей Microsoft (чтобы вы могли видеть других в “сетевом окружении”),
  • IPX/SPX – совместимый протокол (нужен для старых дос-игр),
  • TCP/IP- протокол (для большинства win-игрушек (и других полезных вещей вроде доступа в Интернет – прим.ред.),
  • служба доступа к файлам и принтерам сетей Microsoft (чтобы вас могли видеть в сети).

Если что-либо из вышеперечисленного отсутствует, то обязательно установите это. Также проверьте, чтобы только у одного протокола (либо TCP/IP либо IPX/SPX) была привязка (binding) к клиенту для сетей Microsoft. Далее заходим на вкладку “Идентификация” и ставим сетевое имя компа, а, также имя рабочей группы (лучше если оно будет одинаковым у всех машин сети). Перезагружаемся. Если все установлено правильно, то при запуске “Сетевого окружения” должен появляться список компов. Если такового не произошло, то попробуйте Пуск | Найти компьютер т.к. в “сетевом окружении” по непонятным причинам компы могут появляться не сразу.

И, напоследок, чтобы ускорить запуск вашей машины (т.к. из-за TCP/IP он сильно замедлится) зайдите в Пуск/выполнить/winipcfg, выберите в нем имя своей сетевой карты и запомните IP-адрес и маску подсети. Далее заходим в Панель управления/сеть, выбираем TCP/IP, жмем свойства/IP-адрес/указать IP-адрес явным образом и вводим в поле адрес и маску подсети, после чего система предложит перезапуститься.

Ну вот и все. Если будут какие-то вопросы, пишите, с радостью отвечу.

Герусс Дмитрий

e-mail:Napalm_Dima@mail.ru

editorial (с этого места к чтению могут подключаться и продвинутые сетевики ;)

После получения и прочтения этой статьи, у нас с Дмитрием началась оживленная дискуссионная переписка, в ходе которой выяснилось масса интересных нюансов. Дискуссия эта касалась последнего абзаца (он там курсивом помечен), который мне (и не только мне) показался несколько, мягко выражаясь, странноватым. Вам тоже? ;) Ну что ж, давайте разбираться. И разборку эту предлагаю начать с ознакомления с той самой вышеупомянутой переписки, поскольку она отражает, так сказать, "ход мысли и исследования".

переписка (история одного заблуждения)

Здравствуйте, Дима,

<skipped>

...В вашей статье я нашла пару моментов, которые, как мне показалось, с технической точки зрения некорректны. Это, в частности, касаестя настройки софта. Вот, например, этот абзац:

"И, напоследок, чтобы ускорить запуск вашей машины (т.к. из-за TCP/IP он сильно замедлится) зайдите в Пуск/выполнить/winipcfg, выберите в нем имя своей сетевой карты и запомните IP-адрес и маску подсети. Далее заходим в Панель управления/сеть, выбираем TCP/IP, жмем свойства/IP-адрес/указать IP-адрес явным образом и вводим в поле адрес и маску подсети, после чего система предложит перезапуститься."

Вы подумайте, как winipcfg мог _считать_ IP-адрес, который не был назначен? Взаимодействие по IP вообще не может происходить, если интерфейсу не назначено никакого адреса -- явно или динамически (через DHCP).

<skipped>

...За ляпсус с IP-адресами нас просто "заклюют"... Я сама когда-то, грешным делом, "заклевала" журнал "Хакер" за более мелкие "провинности", так что же теперь .... ну вы поняли ;)

С уважением и надеждой на сотрудничество,
Ольга Кирюшкина,
шеф-редактор газеты "Сетевые Решения".

Здравствуйте! Начну с того, что, конечно же, в своей правоте я на все 100 не уверен. Ну так вот, полез я вчера по разным справочникам и хэлпам и в справке 98 окон нашел вот что: "Если компьютер настроен на автоматическое получение IP-адреса и подключен к сети, в которой отсутствует служба DHCP , он автоматически назначает себе IP-адрес."

И вот ещё: "Компьютер с операционной системой Windows 98, настроенный на автоматическую личную IP-адресацию, может назначать себе личный IP-адрес, если выполняется любое из следующих условий.

Если компьютер не имеет конфигурации переносного компьютера, он может автоматически назначить себе IP-адрес при запуске, если компьютер не имеет допустимой привязки в службе DHCP и в сети не найден сервер DHCP."

И, кажется, я понял, почему между нами возникли разногласия. Возможно, что мы говорим про TCP/IP из разных операционок. Я в своей статье имел в виду 98 форточки. Что же касается 95, то с ними в плане TCP/IP мне не приходилось сталкиваться. Вернее приходилось, но мы тогда в нашей локалке использовали IPX, а TCP я устанавливал в качестве дьявольского эксперимента :-) И, кажется, я помню что-то туманное, что он писал про ошибку с DHCP (вроде бы). :-).

<skipped>

Спасибо за внимание.Napalm_dima@mail.ru

Здравствуйте, Дима,

ну что мне вам сказать ;) виновата, не права я оказалась -- можете празновать победу ;)

Действительно, Мелкософт в Windows 98 употребил некоторую часть новой, экспериментальной технологии под названием UPnP (Universal Plug and Play) --http://www.upnp.org/. В частности применена технология автоматического выбора IP-адресов, известная также как auto IP. Подробно это описано в ID (Internet-Draft) --http://www.ietf.org/internet-drafts/draft-ietf-dhc-ipv4-autoconfig-05.txt 

Однако тут есть небольшая загвоздка, связанная с вашей рекомендацией прописать статическим образом однажды "автосконфигурированный" адрес из сети "169.254/16" (LINKLOCAL net). Как вы думаете, как будет вести себя сеть, в которой принято автоконфигурирование, в такой ситуации:

1. все машины назначили себе адреса
2. одна из машин (назовем ее Indie) прописала этот адрес статически
3. на следующий день все машины "проснулись", а наша оказалась выключенной
4. все проснувшиеся машины назначили себе адреса, и у какой-то оказался адрес "спящей" машины (прописанный _там намертво)
5. и тут просыпается Indie......

Упомянутый выше I-D не дает однозначного ответа на этот вопрос, как мне показалось.

Вообще-то технология кажется мне, как архаичному админу, несколько сыроватой и притянутой за уши, однако она натолкнула меня на вот какие мысли:

<skipped>

-- было бы интересно в ближайших номерах "СР" дать описание либо только UPnP, либо взять чуть чуть пошире -- кратко рассмотреть все три подобные технологии, (Jini, UPnP, Salutation).Что характерно, мои знакомые сетевики, работающие с IP-сетями с доисторических времен и могущие смело называться гуру, о UPnP тоже ничего не знали, что несколько сглаживает мой позор ;)))

Жду скорого ответа,
с немалым уважением,
Ольга Кирюшкина

Здравствуйте, уважаемая Ольга!

<skipped>

В письме вы написали про задачку с нехорошей машиной Indie, которая единолично затихарила IP-адрес и на время легла на дно, чтобы потом провернуть свой дьявольский план. ;-). Через некоторое время другие машины, ничего не подозревая, включаются и случайно кто-то из них назначает себе IP, принадлежащий Indie. Далее они начинают, к примеру, смалить квака. Тут Indie выскакивает из-за угла и портит всю малину :-) .

На мой взгляд, существует два способа разрешения этой проблемы.

Первый: у всех машин одновременно назначить статистический IP-адрес. Тогда они и не найдут повода для конфликта. Конечно, он не всегда приемлим, но для домашней локалки вполне подойдёт.

Второй: ( вернее не способ, а мои рассуждения над этой проблемой) Итак, при назначении автоматического IP-адреса, он сохраняется где-то в дебрях виндовз и при последующей перезагрузке он остаётся неизменным. По крайней мере у нас в домашней сети IP адреса, назначаемые автоматически не изменялись уже года эдак 2. Так вот, а если, скажем, Indie попытается войти в сеть со своим IP, который уже кем-то занят, то скорее всего она просто-напросто не сможет этого сделать и тем самым не помешает работе остальных. Что же касается устранения этой проблемы, то достаточно включить сначала Indie, а затем уже машины с автоматическим IP, и они сами переконфигурируются так, чтобы не конфликтовать с Indie. И эта конфигурация сохраниться, так что следующий раз они просто не будут использовать IP Indie. Разумеется, это пригодно для небольшой сети, а не для той, в которой сотни машин, да ещё и новые все время подключают и отключают (не завидую её админу :-) ).

<skipped>

Ещё раз большое спасибо за помощь,Napalm_Dima@mail.ru 

итого (собственно, выводы)

Каждый волен делать выводы, какие ему угодно. В какой-то степени вопрос такого рода может считаться открытым, поскольку администрирование сетей по сути своей многолико: формируй политику и придерживайся ее. Кому-то нравится статическое назначение адресов, кто-то помешан на DHCP, кто-то жизни не мыслит без домена Windows NT, кто-то упрямо сидит на NFS даже в Windows-сетях. Опять же, корни моей оплошности кроются в том, что в моей сети всегда использовалось статическое назначение адресов, а мои собственные рабочие станции работали(ют) под управлением Win95, WinNT 4, Linux, QNX 4.x/RTP. Окна образца 98 года как бы прошли в стороне от меня ;)

Естественно, есть какие-то вещи из области "здравого смысла и общепринятой методологии", но это все тоже очень спорно... Вот мои личные выводы, итог приведенной выше переписки:

1. Автоконфигурация -- существует, хотя спецификация ее еще несколько сыровата.

2. В Windows 98 реализация Auto IP подразумевает, что а) сеть небольшая б) сеть не имеет выхода в глобальные. По крайней мере пресловутый Internet Connection Sharing с адресами из блока LINKLOCAL работать не должен, как утверждается в хелпе. Желательно, чтобы, если уж вы выбрали автоконфигурирование, оно работало в рамках всей сети, на всех ее хостах.

3. Действительно, чем больше машин в автоконфигурируемой сети, тем медленне они стартуют. Но --

4. Какой смысл производить шаманские манипуляции со считыванием и последующим статическим назначением адресов из 169.254/16, если можно просто "по-человечески" назначать нормальные фейковые адреса из диапазона 192.168/16 или 10/8. То бишь (переводя с русского на русский) –

  • выбираете номер сети, например, 192.168.0.x, который должен быть одинаковым для всех машин вашей локалки;
  • назначаете каждому компьютеру адреса, например вида 192.168.0.1 маска 255.255.255.0, 192.168.1.2 с такой же маской и так далее...

5. Надо бы написать более обстоятельно про UPnP, Auto IP и подобные вещи. И вообще, практика моих личных заблуждений показывает (уже во второй раз): нужно читать I-D (Internet Drafts), там страсть как много интересных вещей пишут ;)

шеф-редактор



Сетевые решения. Статья была опубликована в номере 11 за 2000 год в рубрике sysadmin