Компьютерная скорая помощь

                                          

 

для будущих мам и малышей
всё для мобильного телефона
 
RSS
 
На главную | Drivers | Контакты | Каталог ссылок | Партнеры | Карта сайта | Cотовая связь  
 
 

Локальные сети и Internet

  При подключении локальной сети к Internet один из компьютеров выступает в роли шлюза: через модем или другим способом связывается с Internet, а остальные работают через него. Для полноценной работы в Internet компьютер должен иметь реальный (доступный из Internet) IP-адрес, в противном случае он не получит извне ни одного IP-пакета, так же как человек без полного почтового адреса не сможет получать писем. Но, как правило, реальный IP-адрес выделяются только комьпьютеру-шлюзу, имеющему непосредственное соединение с Internet. При подключении через модем IP-адрес обычно назначается ему динамически из адресного пула провайдера. При постоянном подключении он статический.

С момента назначения разница между динамическими и статическими адресами исчезает (вопреки распространенному заблуждению). На шлюзовом компьютере, независимо от типа подключения, смогут работать как клиентские, так и серверные программы. Причем услуги сервера, работающего на такой машине, будут доступны из обеих сетей - и из Internet, и из локальной сети. (Нежелательные соединения извне могут быть исключены программными средствами безопасности, но это уже другой вопрос.) Это происходит из-за того, что шлюз имеет как минимум два сетевых интерфейса - например, модем и сетевую карту. И, соответственно, два IP-адреса: один "реальный", назначаемый контроллеру удаленного доступа (пример: 204.91.242.35), другой - внутренний, назначаемый сетевой карте в локальной сети (пример: 10.1.1.1). На других компьютерах локальной сети тоже могут работать программы обоих типов, но доступны они будут только внутри локальной сети (intranet), так как в Internet отсутствует маршрутизация для внутренних адресов такого типа (в данном примере - 10.*.*.*).

Благодаря такой организации сети убиваются два зайца: 1) экономятся дефицитные реальные IP-адреса; 2) осуществляется некоторая базовая защита компьютеров в локальной сети (кроме шлюза) от вторжения извне. Но это исключает возможность работы в Internet с любого компьютера локальной сети, кроме шлюзового. Поэтому в таких сетях обязательно используются прокси-серверы, которые заставляют шлюзовой компьютер выполнять запросы на получение информации по просьбе и от имени других компьютеров сети. Шлюзовой компьютер принимает запрос (в виде URL, например) от компьютера в своей сети, сам выполняет этот запрос в Internet и возвращает результат компьютеру в локальной сети.

Для большинства стандартных клиентских приложений (пакет Internet Explorer. например) возможностей традиционных прокси-серверов вполне хватает. Но есть приложения, которым требуется временно выступать в роли сервера, даже когда они работают на машинах пользователей. Приведу два примера.

Протокол FTP при обычном получении файла клиентской программой с FTP-сервера требует установки двух TCP-соединений. Первое - управляющее, через которое FTP-клиент дает команды серверу. Его устанавливает клиентская программа при подключении к серверу. Второе соединение инициируется FTP-сервером к клиенту по IP-адресу и порту, указанному FTP-клиентом через управляющее соединение. Такие вторичные соединения устанавливаются сервером для передачи клиенту списка файлов и самих файлов. В этот момент они фактически меняются ролями: клиент принимает соединения, а сервер соединяется. В локальной сети функции FTP-клиента берет на себя FTP-прокси-сервер, однако часть возможностей FTP при этом теряется, так как браузер на рабочем месте пользователя будет уже "клиентом клиента". Если же клиентская FTP-программа не может работать через прокси (как известная программа FAR), то от использования ее приходится вовсе отказаться.

Второй пример. Все большее распространение приобретают программы для онлайновых переговоров (chat). Часть из них являются клиентами chat-серверов, расположенных в Internet, и достаточно легко могут быть настроены для работы через прокси. Большая группа программ (MS NetMeeting, ICQ, AOL Messenger и др.) позволяет связываться напрямую, без посредничества какого-либо сервера в Internet. Например, NetMeeting позволяет делать вызов по IP-адресу. В этом случае программа на компьютере одного из участников беседы берет на себя роль сервера. А если один из пользователей (или даже оба) находятся в локальной сети и не имеют возможности устанавливать прямое соединение из-за отсутствия реального IP-адреса у одного или обоих? Тоже придется отказаться от этих программ.

Большинство прокси-серверов являются узкоспециализированными и рассчитаны на конкретные прикладные протоколы (HTTP, FTP, RealAudio и т. д.), то есть для новых протоколов требуются новые прокси-серверы…

Весь описанный здесь спектр проблем решается с помощью Socks-серверов.

Как работает Socks5

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

  1. Он не зависит от высокоуровневых протоколов (HTTP, FTP, POP3, SMTP, NNTP и т. д.), так как осуществляет представительство клиентов на более низком уровне (TCP и UDP).

  2. Приложение в локальной сети может попросить Socks-сервер выступить в роли сервера от лица клиента. То есть приложение в локальной сети сможет принимать соединения извне, несмотря на отсутствие реального IP-адреса.

Вообще говоря, многие из описанных проблем решаются просто путем отображения портов с помощью Mapping-proxy (тема для отдельного разговора), но Socks - более рациональное средство, не требующее в отличие от MAP знания тонкостей конкретных протоколов и приложений. Через Socks5 можно заставить работать даже приложения, которые и понятия не имеют о прокси! Пример - уже упомянутый FAR v1.5. Это "перенаправление" через прокси делается, например, программой SocksCapture (NEC). Многие современные программы сами умеют работать через Socks. Примеры - Mirabilis ICQ, MS Internet Explorer, Netscape Navigator - хотя все с некоторыми оговорками, о которых позже.

В протоколе Socks5 есть запросы (от Socks-клиента Socks-серверу) со следующим смыслом:

Фактически Socks-сервер является программно-управляемым mapping-proxy, причем с описанным единым интерфейсом. Все mapping-proxy так или иначе программно управляются, но под руководством администратора сети (человека), и отображения статичны. А Socks-сервер управляется прикладными программами, и отображения устанавливаются, только когда они нужны, и на то время, пока они нужны.

Запросы Socks хорошо согласуются с запросами, посылаемыми программами к интерфейсу winsock, именно поэтому существует возможность "насильно" заставить любую Internet-программу пойти через Socks-сервер, даже если она сама не умеет. Для этого такие программы, как SocksCapture, перехватывают обращения этой программы к функциям wsock32.dll (и другим реализациям winsock) и преобразуют их в запросы к Socks-серверу незаметно для самой программы.

Socks4 и Socks5

Цифры в названии означают версию протокола. Socks5 - последняя версия, определенная в RFC1928. От Socks4 его отличают следующие новые возможности:

  1. Socks-клиент может передавать не только IP-адрес хоста, с которым необходимо устанавливать соединение, но и доменное имя хоста. Socks5-сервер сам получит IP по имени. Таким образом, в локальных сетях, работающих через Socks5, можно обойтись без локального DNS-сервера. Socks4 требовал его наличия.

  2. Socks5 поддерживает не только TCP, но и UDP. Вместе они покрывают почти все множество используемых прикладных протоколов. Из широко используемых программ разве что диагностические утилиты ping и tracert пользуются "сырыми" (raw) сокетами и не могут работать через TCP и UDP.

  3. Socks5-сервер может согласовывать с клиентом способ аутентификации.

  4. Socks5 может использовать не только принятые схемы адресации в Internet, но и будущие - такие, как IPv6 (IPng).

Socks5 и ICQ

ICQ - первое из популярных приложений, которое тяжело полноценно использовать в локальных сетях без наличия Socks5-сервера. В отличие от подавляющего большинства современных приложений, ICQ очень широко использует протокол UDP (почти для всех своих функций, начиная с регистрации на сервере icq.mirabilis.com, заканчивая передачей файлов), поэтому использование Socks5 напрашивается само собой. Тем более что ICQ сама предлагает использовать Socks.

Однако ICQ не полностью использует возможности, предоставляемые Socks5. Так, при соединении с сервером icq.mirabilis.com клиент ICQ, работающий на компьютере в локальной сети, пытается сам выяснить IP-адрес этого сервера у DNS, вместо того чтобы просто передать имя хоста серверу Socks5. В результате ICQ (текущие версии, вплоть до ICQ98a) не сможет работать без локального DNS-сервера или DNS-прокси.

Здесь надо отметить, что ICQ98 использует новую версию собственных протоколов поверх UDP по сравнению с недавними выпусками ICQ 1.113. Новый протокол намного интенсивнее использует UDP. Теперь даже при обычном использовании интерфейса ICQ (открытии, закрытии его окон, например) на mirabilis отправляются UDP-пакеты (неизвестно для чего, возможно, собирают статистику активности использования), средний размер пакетов тоже увеличен. Так что есть определенный смысл продолжать использовать более старые версии ICQ.

Socks и браузеры

Браузеры Explorer и Navigator в использовании Socks "блещут консерватизмом": используется Socks4. UDP браузерам не нужен, но такую полезную возможность Socks5, как избавление от локального DNS-сервера, они игнорируют явно зря. К сожалению, Socks4 и Socks5 не имеют обратной совместимости, и не все Socks5-серверы могут обрабатывать Socks4-запросы, посылаемые браузерами.

Socks и SocksCapture

SocksCapture и подобные программы помогут вам приручить в локальной сети большинство из тех программ, которые не умеют работать через прокси самостоятельно. Это обеспечивается за счет перехвата обращений этих программ к функциям winsock и направления этих вызовов через Socks-сервер. SocksCapture позволяет довольно гибко настраивать и сохранять сетевую конфигурацию этих программ: через какой Socks-сервер ее запускать, в каком режиме работать с DNS и др.

Socks-сервер запускается на шлюзовом компьютере, а SocksCapture является клиентской по отношению к нему программой и должен устанавливаться на каждом компьютере в локальной сети.

Что не может делать Socks

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

Второе ограничение - когда клиентская программа просит Socks-прокси выполнить за него серверную функцию (прими для меня входящее TCP-соединение), Socks-прокси не гарантирует, что он будет "слушать" именно тот номер порта, который хотел бы слушать клиент, так как на шлюзовой машине этот порт может быть уже занят другим сервером или другим потоком Socks-сервера, обслуживающим другого клиента. Таким образом, почти невозможно организовать работу, например, Web-cервера, находящегося внутри локальной сети, но принимающего соединения через Socks-сервер, - так как внешний клиент не будет заранее знать, с каким портом соединяться. То есть через Socks-прокси клиентское приложение сможет быть сервером, но только временным и только после того, как эта пара - клиент и сервер - уже установили первичное соединение и могут передать через него номер порта для вторичного соединения. Этот номер назначается Socks-сервером и сообщается Socks-клиенту. В таком режиме могут работать, например, FTP-клиенты и ICQ. Для выдачи постоянных внутренних серверов "наружу" через прокси лучше пользоваться обычным mapping-прокси с постоянными отображениями портов.

[ НАЗАД ]   


Строим сеть своими руками и подключаем ее к Интернет

4 ноября 2004 г.         Имеем 2 или более компьютеров со встроенной в материнскую плату или установленной отдельно сетевой картой, коммутатор (switch) или даже без него, а так же канал в Интернет, предоставленный ближайшим провайдером.

Зафиксируем, что на всех компьютерах установлена операционная система Microsoft WinXPPro SP1. Не буду утверждать, что это наиболее массовая ОС, установленная сейчас на компьютерах, но рассматривать все существующие семейства той же Microsoft довольно долго (но, если найдется много страждущих, проанализируем и другие). Версия языка ОС – English. На русской версии все будет работать аналогичным образом, читателям надо будет лишь найти соответствия русских аналогов названий в представленных ниже скришнотах.

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

Почему кросс-овер и чем плох обычный кабель? В стандартах Ethernet на 10 и 100Мбит (10Base-T и 100Base-TX) для витой пары используется 4 провода (две свитых меж собой пары проводов). Обычно в кабеле, типа витая пара, 8 проводов, но из них используются только 4 (все восемь применяются в Gigabit Ethernet).

В разъемах типа MDI, установленных на сетевых картах, контакты 1 и 2 отвечают за передачу, 3, 6 – за прием. Если совместить контакты двух сетевых карт прямым кабелем (один к одному), то ничего не будет работать, что очевидно из рисунка:

MDI порт сетевой карты1,   

1

передача +

2

передача -

3

прием +

4

 

5

 

6

прием -

7

 

8

 

MDI порт сетевой карты2

1

передача +

2

передача -

3

прием +

4

 

5

 

6

прием -

7

 

8

 

На обеих сетевых картах, в случае прямого провода, совмещаются пары 3,6, отвечающие за прием (обе будут ждать передачи, слушать линию) и пары 1,2, отвечающие за передачу (обе будут пытаться передавать, но их никто не услышит). Эту проблему исправляет кросс-овер кабель, он перекрещивает пары проводов 1,2 и 3,4, т.е. меняет их местами. Таким образом, сигнал из 1,2 пары пойдет в 3,6 пару второй сетевой карты, а из 3,6 – в 1,2.

Два коммутатора между собой объединяются по тому же принципу (на коммутаторах стоят разъемы MDI-X, для их соединения необходим тот же самый кроссовер кабель).

А теперь возвращаемся к нашей сети из двух компьютеров. Если пропустить теорию, то для соединения вышеназванных машин нам нужно или купить готовый кроссовер кабель, или обжать его самостоятельно, воспользовавшись обжимным инструментом.

После получения кабеля, соединяем с помощью него сетевые карты компьютеров и вуаля – все должно заработать (на физическом уровне). Для проверки работоспособности сети на физическом уровне (уровне сигналов) имеет смысл посмотреть на индикаторы (чаще всего зеленого цвета), которые расположены на сетевой карте вблизи RJ-45 разъема. Как минимум один из них должен отвечать за индикацию наличия линка (физического соединения). Если загорелись индикаторы на обеих сетевых картах, то физический линк есть, кабель обжат верно. Горящий индикатор лишь на одной из двух карт не говорит о том, что на физическом уровне все в порядке. Мерцание этих (или соседних) индикаторов сигнализирует о передаче данных между компьютерами. Если индикаторы на обеих картах не горят, то с большой вероятностью неверно обжат или он поврежден кабель. Так же возможно, что одна из сетевых карт вышла из строя.

Конечно, описанное в предыдущем абзаце не означает, что операционная система видит сетевую карту. Горение индикаторов говорит лишь о наличии физического линка между компьютерами, не более того. Чтобы Windows увидела сетевую карту, нужен драйвер этой карты (обычно, операционка сама находит нужный и ставит его автоматически). Цитата из форума: «Как раз вчера диагностировал случай с подключенной сетевухой, не до конца вставленной в PCI-разъем. В результате "физически” сеть работала, но ОС ее не видела.».

Рассмотрим вторую ситуацию. Имеется коммутатор и два или более компьютера. Если два компьютера еще можно соединить без коммутатора, то если их три (или больше), то их объединение без свича является проблемой. Хотя проблема и разрешима – для объединения трех компьютеров нужно в один из них вставить две сетевые карты, перевести этот компьютер в режим маршрутизатора (роутера) и соединить его с двумя оставшимися машинами. Но описание этого процесса уже выходит за рамки этой статьи. Остановимся на том, что для объединения в одну локальную сеть трех и более компьютеров нужен коммутатор (тем не менее, есть и другие варианты: можно объединять компьютеры с посощью FireWire интерфейса или USB DataLink кабеля; а так же с помощью беспроводных (WiFi) карт, переведенных в Ad Hoc режим функционирования... но об этом в следующих сериях).

К коммутатору компьютеры подсоединяются прямым кабелем. Какой вариант заделки (568A или 568B) будет выбран – абсолютно не важно. Главное помнить, что с обеих сторон кабеля она (заделка) совпадала.

После обжима кабеля (или покупки оного в магазине), и подсоединения всех имеющихся компьютеров к коммутатору, следует проверить наличие физического линка. Проверка протекает аналогично вышеописанному способу для двух компьютеров. На коммутаторе рядом с портами так же должны присутствовать индикаторы, сигнализирующие о наличии физического соединения. Вполне может оказаться, что индикаторы находятся не рядом (сверху, сбоку, снизу) с портом, а вынесены на отдельную панель. В таком случае они будут пронумерованы в соответствии с номерами портов.

Добравшись до этого абзаца, мы уже имеем физически объединенные в локальную сеть 2 или более компьютеров. Переходим к настройке операционной системы.

Для начала, проверим правильность установок IP-адресации у сетевой карты. По-умолчанию, ОС Windows (2K/XP) сама назначает нужные IP адреса картам, но лучше в этом убедится самим.

    

Идем в настройки сетевой карты.(Start –> Control Panel –> Network Connection)

   

Или, если сетевое окружение (Network Places) вынесено на рабочий стол, то достаточно кликнуть по нему правой кнопкой и выбрать Properties (Свойства).

  

В появившемся окне выбираем нужный сетевой адаптер (обычно он там один). Новое окно сообщает нам довольно много информации. Во-первых, статус соединения (в данном случае – Connected, т.е. физическое подключение есть) и его скорость (100 Мбит). А так же количество посланных и принятых пакетов. Если кол-во принимаемых пакетов равно нулю, а в сети находится более одного компьютера (включенными), то это, возможно, указывает на неисправность нашей сетевой карты или порта коммутатора (если компьютер подключен к нему). Так же возможна неисправность самого кабеля.

   

Выбрав закладку Support, можно узнать текущий IP адрес и маску подсети, назначенные сетевой карте. По умолчанию, ОС Windows дают адаптерам IP адреса их диапазона 169.254.0.0 -- 169.254.255.254 с маской подсети 255.255.0.0. Обсуждение масок, классов подсетей и так далее выходит за рамки этой статьи. Главное запомнить, что маска подсети у всех компьютеров из одной сети должна совпадать, а IP адреса – различаться. Но опять таки, цифры IP адреса, которые совпадают по позициям с ненулевыми цифрами маски подсети, у всех компьютерах должны быть одинаковыми, т.е. в данном примере у всех хостов из локальной сети в IP адресе будут совпадать две первые позиции цифр – 169.254.

   

IP-настройки сетевой карты могут задаваться и вручную (Свойства сетевого адаптера –> Properties –> Internet Protocol (TCP/IP) –> Properties). Но в большинстве случаев имеет смысл выставить настройки в значение по умолчанию (автоматическое определение IP адреса и DNS) и операционная система настроит сетевые адаптеры сама.


  

Кроме сетевых адресов, всем компьютерам нужно задать одинаковое имя рабочей группы. Это настраивается в настройках системы (System Properties). Туда можно попасть через панель управления (System –> Computer Name). Разумеется, можно задавать и разные имена рабочим группам. Это удобно, если у вас много компьютеров в сети и нужно как то логически разделить работающие машины между собой. Следствием этого станет появление нескольких рабочих групп в сетевом окружении (вместо одной).

или, если значок My Computer был выведен на рабочий стол, то правым кликом мыши на этом значке и выборе (Properties –> Computer Name).

   

В появившемся окне (появляющимся после нажатия кнопки Change) можно изменить имя компьютера (каждой машине – свое уникальное имя). И тут же надо ввести название рабочей группы. У всех компьютеров в локальной сети название рабочей группы должно совпадать.

После этого ОС попросит перезагрузиться, что и нужно будет сделать.

На любом из компьютеров можно «расшаривать» (т.е. выкладывать в общий доступ) директории. Это делается следующим образом:

   

В проводнике жмем правой кнопкой на директорию, выбираем Свойства (Properties).

   

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

   

Во все последующие – достаточно лишь поставить галку в поле Share this foldier (к директории будет открыт доступ по сети только в режиме чтения). Если нужно разрешить изменение данных по сети, то придется поставить галку в поле Allow Network User to Change my Files.

После подтверждения (нажатия OK), значок директории сменится на тот, что показан на скриншоте.

   

С других компьютеров получить доступ к расшаренным директориям можно, зайдя в сетевое окружение (My Network Places), находящееся в меню Пуск или на рабочем столе, выбрав View Workgroup Computers,

а затем щелкнуть на нужном имени компьютера. Выложенные в общий доступ директории будут представлены в появившемся окне.

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

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

Если вышеописанное условие не выполняется, могут возникнуть проблемы с доступом к расшаренным директориям (выпадающие окошки с надписями вида отказано в доступе и тд). Этих проблем можно избежать, активировав гостевой аккаунт. Правда в этом случае ЛЮБОЙ пользователь внутри локальной сети сможет увидеть ваши расшаренные директории (а в случае сетевого принтера – печатать на нем) и, если там было разрешено изменение файлов сетевыми пользователями, то любой сможет их изменять, в том числе и удалять.


Активация гостевого аккаунта производится следующим образом:
Пуск –> панель управления –> администрирование –> computer management –>


В появившемся окне управления компьютером выбираем закладку управления локальными пользоватлями и группами, находим гостевой (Guest) аккаунт и активируем его. По умолчанию в Windows гостевой аккаунт уже заведен в системе, но заблокирован.

Пару слов о добавлении пользователей в систему (подробнее об этом в следующих статьях). В том же менеджере управления локальными пользователями и группами, щелкаем правой кнопкой мыши на свободном месте списка пользователей, выбираем New user (добавить нового пользователя).

В появившемся окне вводим логин (в данном случае введен user2), полное имя и описание, последние два значения не обязательны ко вводу. Далее назначаем пароль (password), в следующем поле – повторяем тот же самый пароль. Снятие галки User must change password at next logon (пользователь должен сменить пароль при следующем входе в систему), дает пользователю входить в систему под заданным паролем и не будет требовать его смены при первом логоне. А галка напротив Password never expiries (пароль никогда не устареет), дает возможность пользоваться заданным паролем бесконечное время.

По умолчанию, вновь созданный пользользователь входит в группу Users (пользователи). Т.е. у пользователя будут довольно ограниченные права. Тем не менее, их будет довольно много и на локальном компьютере можно будет зайти под этим логином и вполне конфортно работать. Можно еще более ограничить права (до минимума) этого пользователя, выведя его из группы Users и введя в группу Guests (гости). Для этого жмем правой кнопкой мыши на пользователя, выбираем Properties (свойства),

Member of –> Add, в появившемся окне жмем на Advanced (дополнительно)

Жмем Find Now (найти). И в появившемся списке выбираем нужную группу (Guest, гости).


Пользователь введен в группу Guest. Осталось вывести его из группы Users: выделяем ее и щелкаем на кнопке Remove (удалить).

Более гибкое управление доступом к расшареным ресурсам можно получить, отключив режим Simple File Sharing (простой доступ к файлам) в настройках Explorer-а.

Предоставление в общий доступ (расшаривание) принтеров производится аналогичным способом. На компьютере, к которому подключен принтер, выбираем его значок (через пуск –> принтеры), жмем на нем правой кнопкой мыши, выбираем свойства (properties).

Управление общим доступом к принтеру осуществляется в закладке Sharing. Нужно выбрать пункт Shared As и ввести имя принтера, под которым он будет виден в сетевом окружении.

На других компьютерах, подключенных к той же локальной сети, сетевой принтер, скорее всего, сам появится в меню принтеров. Если этого не произошло, запускаем значок Add Printer (добавить принтер), который вызовет визард по подключению принтеров.

   

Указываем ему, что мы хотим подключить сетевой принтер.

   

В следующем меню указываем, что хотим найти принтер в сетевом окружении. Так же можно ввести прямой UNC до принтера, например, \\компьютер1\\принтер1, воспользовавшись пунктом Connect to this Printer.
UNC (Universal Naming Convention) – Универсальный сетевой путь, используется в операционных системах от Microsoft. Представляется в виде \\имя_компьютера\имя_расшаренного_ресурса, где имя_компьютера = NetBIOS имя машины, а имя_расшаренного_ресурса = имя расшаренной директории, принтера или другого устройства.

   

Если мы выбрали пункт поиска принтера в сетевом окружении, то после нажатия кнопки Next появится окно просмотра сетевого окружения, где и нужно выбрать расшареный принтер. После этой операции, с локальной машины можно посылать документы на печать на удаленный принтер.

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

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

Вполне возможна ситуация, что ADSL модем (или другое подобное устройство) подключается к компьютеру через USB интерфейс, тогда вторая сетевая карта не нужна вовсе. Возможно так же, что компьютер-роутер является ноутбуком, у которого есть одна сетевая карта, подключенная проводом в локальную сеть и WI-FI (беспроводная) сетевая карта, подключенная к беспроводной сети провайдера.

Главное, что в окне Network Connections видны два сетевых интерфейса. В данном случае (см.скришнот) левый интерфейс (Local Area Connection 5) отвечает за доступ в локальную сеть, а правый (Internet) – за доступ в глобальную сеть Интернет. Разумеется, названия интерфейсов будут отличаться в каждом конкретном случае.

До реализации следующих шагов внешний интерфейс (смотрящий в Интернет) должен быть настроен. Т.е. с компьютера-будущего-роутера доступ в Интернет уже должен работать. Эту настройку я опускаю, так как физически невозможно предусмотреть все возможные варианты. В общем случае интерфейс должен автоматически получить нужные настройки от провайдера (посредством DHCP сервера). Можно проверить, получила ли сетевая карта какие-то адреса, аналогично способу, описанному выше в этой статье. Встречаются варианты, когда представитель провайдера выдает Вам список параметров для ручного конфигурирования адаптера (как правило, это IP адрес, список DNS-серверов и адрес шлюза).

   

Для активации доступа к Интернет для всей локальной сети кликаем правой кнопкой на внешнем (смотрящим в сторону Интернет) интерфейсе.

   

Выбираем закладку Advanced. И тут ставим галку напротив пункта Allow other Network Users to Connect through this Computer's Internet Connection. Если нужно, что бы этим Интернет доступом можно было управлять с других компьютеров локальной сети, включаем Allow other Network Users to Control...

Если на машине не используется какой либо дополнительный файрвол (брандмауэр), помимо встроенного в Windows (т.е. программа, которая была дополнительно установлена на машину), то обязательно включаем файрвол  – Protect my Computer and Network. Если дополнительный файрвол установлен, то встроенную защиту можно не активировать, а лишь настроить внешний брандмауэр. Главное – что бы файрвол на интерфейсе, смотрящим в сторону Интернет обязательно был включен, встроенный или внешний.

   

После подтверждения (нажатия кнопки OK) в компьютере активируется режим роутера, реализуемого посредством механизма NAT. А над сетевым интерфейсом, где этот механизм активирован, появляется символ ладони (замочек сверху означает включение защиты файрволом этого интерфейса).

   

Прямым следствием этого режима является изменение адреса на локальном (смотрящем в локальную сеть) интерфейсе маршрутизатора на 192.168.0.1 с маской подсети 255.255.255.0. Кроме этого на компьютере, выступающем в роли маршрутизатора, активируется сервис DHCP (маршрутизатор начинает раздавать нужные параметры IP-адресации на все компьютеры локальной сети), и DNS (преобразования IP адресов в доменные имена и обратно). Маршрутизатор становится шлюзом по умолчанию для всех остальных компьютеров сети.

А вот как это выглядит с точки зрения остальных компьютеров локальной сети. Все они получают нужные настройки IP-адресации от маршрутизатора по DHCP. Для этого, разумеется, в настройках их сетевых карт должны стоять автоматическое получение IP адреса и DNS. Если это не было сделано, то ничего работать не будет. Настройка автоматического получения IP адреса и DNS была описана выше. Возможно, что компьютер получит нужные адреса от маршрутизатора не сразу, чтобы не ждать, можно нажать кнопку Repair, которая принудительно запросит DHCP сервис выдать нужную информацию.

При правильной настройке сетевой карты, компьютеры получат адреса из диапазона 192.168.0.2---254 с маской 255.255.255.0. В качестве шлюза по умолчанию (default gw) и DNS сервера будет установлен адрес 192.168.0.1 (адрес маршрутизатора).

Начиная с этого момента, компьютеры локальной сети должны получить доступ в Интернет. Проверить это можно, открыв какой-либо сайт в Internet Explorer или пропинговав какой-либо хост в интернете, например, www.ru. Для этого надо нажать Пуск –> Выполнить и в появившемся окошке набрать
ping www.ru -t
Разумеется, вместо www.ru можно выбрать любой другой работающий и отвечающий на пинги хост в Интернет. Ключ «-t» дает возможность бесконечного пинга (без него будет послано всего три пакета, после чего команда завершит работу, и окно с ней закроется).

В случае нормальной работы канала в Интернет, вывод на экран от команды ping должен быть примерно такой, как на скриншоте, т.е. ответы (reply) должны идти. Если хост не отвечает (т.е. канал в Интернет не работает или что-то неверно настроено на маршрутизаторе) то вместо ответов (reply-ев) будут появляться timeout-ы. Кстати говоря, не у всех провайдеров разрешен ICMP протокол, по которому работает команда ping. Другими словами, вполне возможна ситуация, что «пинг не проходит», но доступ в Интернет есть (сайты открываются нормально).

Напоследок немного подробнее остановлюсь на механизме NAT. NAT – Network Address Translation, т.е. технология трансляции (преобразования) сетевых адресов. При помощи этого механизма несколько машин из одной сети могут выходить в другую сеть (в нашем случае – несколько машин из локальной сети могут выходить в глобальную сеть Интернет) используя только один IP адрес (вся сеть маскируется под одним IP адресом). В нашем случае это будет IP адрес внешнего интерфейса (второй сетевой карты) маршрутизатора. IP адреса пакетов из локальной сети, проходя через NAT (в сторону Интернет), перезаписываются адресом внешнего сетевого интерфейса, а возвращаясь обратно, на пакетах восстанавливается правильный (локальный) IP адрес машины, которая и посылала исходный пакет данных. Другими словами, машины из локальной сети работают под своими адресами, ничего не замечая. Но с точки зрения внешнего наблюдателя, находящегося в Интернет, в сети работает лишь одна машина (наш маршрутизатор с активированным механизмом NAT), а еще две, три, сто машин из локальной сети, находящейся за маршрутизатором для наблюдателя не видны совсем.

С одной стороны, механизм NAT очень удобен. Ведь, получив лишь один IP адрес (одно подключение) от провайдера, можно вывести в глобальную сеть хоть сотню машин, буквально сделав несколько кликов мышкой. Плюс локальная сеть автоматически защищается от злоумышленников – она просто не видна для внешнего мира, за исключением самого компьютера-маршрутизатора (многочисленные уязвимости семейства ОС от Microsoft опять выпадают за рамки этой статьи, отмечу лишь, что активировать защиту, т.е. включать файрвол на внешнем интерфейсе маршрутизатора, о чем было сказано выше, нужно обязательно). Но есть и обратная сторона медали. Не все протоколы (и, соответственно, не все приложения) смогут работать через NAT. Например, ICQ откажется пересылать файлы. Netmeeting, скорее всего, не заработает, могут возникнуть проблемы с доступом на некоторые ftp-сервера (работающие в активном режиме) и т.д. Но для подавляющего большинства программ механизм NAT останется полностью прозрачным. Они его просто не заметят, продолжив работать, как ни в чем не бывало.

Но. Что делать, если внутри локальной сети стоит WEB или какой-либо другой сервер, который должен быть виден снаружи? Любой пользователь, обратившись по адресу http://my.cool.network.ru (где my.cool.network.ru – адрес маршрутизатора), попадет на 80й порт (по умолчанию WEB сервера отвечают именно на этому порту) маршрутизатора, который ничего не знает о WEB-сервере (ибо он стоит не на нем, а где-то внутри локальной сети ЗА ним). Поэтому маршрутизатор просто ответит отлупом (на сетевом уровне), показав тем самым, что он действительно ничего не слышал о WEB (или каком-либо ином) сервере.

Что делать? В этом случае надо настроить редирект (перенаправление) некоторых портов с внешнего интерфейса маршрутизатора внутрь локальной сети. Например, настроим перенаправление порта 80 внутрь, на веб сервер (который у нас стоит на компьютере 169.254.10.10):   

   

В том же меню, где активировали NAT, жмем кнопку Settings и выбираем в появившемся окне Web Server (HTTP).

Так как мы выбрали стандартный протокол HTTP, который уже был занесен в список до нас, то выбирать внешний порт (External Port), на который будет принимать соединения маршрутизатор и внутренний порт (Internel Port) на который будет перенаправляться соединение в локальную сеть, не нужно, - там уже выставлены стандартное значение 80. Тип протокола (TCP или UDP) уже так же определен. Осталось лишь задать IP адрес машины в локальной сети, куда будет перенаправлено входящее из Интернет соединение на веб-сервер. Хотя, как меня правильно поправили в форуме, лучше задавать не IP адрес, а имя этой машины. Так как IP-адрес (который выдается автоматически, DHCP сервером), вполне может сменится, а имя машины – нет (его можно поменять лишь вручную).

Теперь с точки зрения внешнего наблюдателя (находящегося в Интернет), на маршрутизаторе (локальная сеть за ним по прежнему не видна) на 80м порту появился веб-сервер. Он (наблюдатель) будет с ним работать как обычно, не предполагая, что на самом то деле веб-сервер находится совсем на другой машине. Удобно? Полагаю, да.

Если потребуется дать доступ извне к какому-нибудь нестандартному сервису (или стандартному, но не занесенному заранее в список), то вместо выбора сервисов из списка в вышеприведенном скриншоте, надо будет нажать кнопку Add и ввести все требуемые значения вручную.


[ НАЗАД ]