Главная - Восстановление
Как сделать домашнюю сеть с сервером. Локальная сеть через интернет

Как подключить несколько компьютеров между собой и к Интернету, распределяя одинаковую скорость к Интернету? Через такие соединения вы сможете не только пользоваться файлами, расположенными на другом ПК, Интернетом, но и принтерами, которые подключены к любому звену этой сети. Попробуем рассмотреть все варианты настройки локальной сети, от самых простых до сложных.

Разделим последовательность действий условно на два этапа.

Для начала разберем и отбросим вариант, когда вам нужно только разделить Интернет.

Подключение к Интернету 2-х компьютеров и более в одной квартире без создания локальной сети

Решить этот вопрос можно несколькими способами:

  1. Установка роутера (маршрутизатора) - позволяет иметь доступ в Интернет каждому из компьютеров без включения в сеть второго. Поскольку Ip-адрес (идентификационный реквизит компьютера в сети) присваивается непосредственно роутеру, то у вас будет один тариф на предоставление Интернет-услуг, а Интернетом можно пользоваться сразу двумя компьютерами.
  2. Wi-fi технология - беспроводное подключение к сети. Возможно при использовании специального комплекта оборудования и его настройки.

1-й этап. Настройка локальной сети

Как соединить два компьютера в сеть (Сетевой Мост)

Один из компьютеров подключается к сети Интернет, второй компьютер подключатся к первому. Главным недостатком в этом случае является то, что для выхода в сеть второго компьютера необходимо, чтобы в сети был так же и первый компьютер. А также, если у вас подключение к Интернет идет по сетевой карте, то необходима дополнительная сетевая карта для подключения второго компьютера к первому, т.к. встроенная сетевая карта уже занята (она принимает Интернет).

Чтобы соединить два компьютера между собой и к Интернету посредством Сетевого Моста, Вам понадобится:

1. Специальный кабель (витая пара) и, возможно, дополнительная сетевая карта.

Витую пару можно достать на радиорынках или в специализированных магазинах. Ее изготавливают самостоятельно, при помощи специального инструмента, который называется "обжимной" и исходя из необходимой длины самого кабеля. Распиновку можно найти в интернете. А можно пропросить обжать "витуху" прямо на радиорынке (скажите продавцу, что нужно обжать для типа соединения "по сетевым картам" или "комп-комп", есть еще "комп-свич") или купить готовый кабель (если есть), но он может оказаться коротким. Заводской сборки такого кабеля не бывает, в продаже есть только "комп-свич", вы можете его купить, но потом один его конец обрезают и обжимают.

Витая пара (twisted pair) представляет собой 8-"жильный" кабель (например UTP-5) с разьемами(коннекторами) RJ-45. Концы кабелей обжимаются спец. инструментом (специальными клещами) в коннекторы в соответствии с цветами концов. Порядок обжима сетевого кабеля таков: БО-О-БЗ-С-БС-З-БК-К на обоих концах для соединения с хабом. Для соединения компьютера с компьютером на одной из сторон должно быть: БЗ-З-БО-С-БС-О-БК-К, где О-оранжевый, З-зеленый, С-синий, К-коричневый, БО-белооранжевый и т. д. (особо не вникайте, а дайте на обжимку кабель знающим людям).

Витая пара (2-2.5$ - 3 м)


Инструмент "обжимной"

Итак, при помощи "витой пары" соединяем компьютеры карта-в-карту (тип соединения "комп-комп")!

Сетевая карта (3-6$)

2. После соединения 2-х компьютеров посредством кабеля, надо настроить их программно.

Необходимо, чтобы компьютеры находились в одной рабочей группе, в одном диапазоне адресов и с разными сетевыми именами. Настройка этих параметров показана на графической схеме:



При этом также желательно задать IP-адреса и маску подсети вручную (маска подсети образуется автоматически при заданном IP-адресе). IP-адреса можно выбирать в диапазоне 192.168.0.ххх. При этом на всех компьютерах локальной сети IP-адрес должен начинаться обязательно с "192.168.0.ххх", а последние три цифры (ххх) должны быть различными (иначе будет конфликт, поскольку это равносильно тому, что два разных дома имеют один и тот же адрес), и быть в диапазоне 0 - 255. Настройка IP-адреса показана на графической схеме:



2.2. Настройка с помощью мастера

Для этого зайдите в «Панель управления» -> «Мастер настройки сети», и следуйте указаниям мастера.

Можно также совместить ручную настройку сети и настройку при помощи мастера, например, после настройки сети с помощью мастера указать IP-адрес.

После всего этого можно дать в доступ (расшарить) какие-то папки в cвойствах папки, во вкладке "Доступ". Расшареные папки можно увидеть, зайдя на «Мой компьютер» и в «Списке типичных задач» выбрать «Сетевое окружение». Или через Total Commander зайти на «Сеть и плагины» (крайняя справа кнопка дисков) -> «Вся сеть» -> «Microsoft Windows Network».

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

3.1. Предоставление общего доступа к принтеру по локальной сети
Для этого заходим в Пуск - Панель управления - Принтеры и факсы. Находим подключенный к данному ПК принтер, нажимаем по нему правой мышкой и в контекстном меню выбираем "Общий доступ...". После этого данный принтер автоматически определиться на других ПК, подключенных к этой локальной сети.

3.2. Использование принтера, который находится в общем доступе, в локальной сети
На других ПК заходим в Пуск - Панель управления - Принтеры и факсы. Нажимаем на «Установка принтера», после чего следуем указаниям мастера установки принтера.



I. Выбираем «Сетевой принтер или принтер, подключенный к другому компьютеру»
Переходим к следующему этапу.

II. Ставим выбор на «Обзор принтеров»
Делаем обзор принтеров в локальной сети.



III. Если планируется частое или постоянное использование данного принтера выставляем в пункте «Использовать этот принтер по умолчанию?» - «Да».

Этим заканчивается настройка.

Соединяем 3 ПК через сетевые карты по типу Сетевой Мост

Не обязательно иметь роутер или свич, чтобы соединить 3 ПК, достаточно докупить еще одну сетевую карту.
Этот вариант дешевле чем свич, т.к. свич в 3 раза дороже сетевой карты. Чтобы соединть 3 компьютера, нужно выбрать один из них и сделать его ведущим, два других ведомые. На ведущий компьютер нужно поставить 2 сетевые карты. Затем соединить с 2-мя другими витой парой и создать Сетевой Мост. Затем расшарить интернет и локальные папки, при этом ведомый компьютер должен быть постоянно включен и подключен к Интернету.

Соединяем 3 компьютера и более (до 20 ПК) через внешний хаб (свич или сетевой концентратор)

Как подключить 3 компьютера и более между собой и к сети Интернет, при условии что нужно распределять каждому одинаковую скорость?


Самое простое решение - это купить свич (Hab), на 5 или более портов, N кабелей (с учетом расстояния каждого от предположительного места положения свича к каждому компьютеру) с обжимкой комп-свич (уже об этом выше говорилось), где N - количество компьютеров. После приобретения необходимого, нужно соединить компьютеры со свичем. После этого, настраиваем компьютеры также, как с подключением между двумя компьютерами.

Соединяем 3 компьютера и более (до 6 ПК) через внутренний хаб (Hub)

Создаем локалку при помощи внутреннего 5 портового 100 Мбитного хаба

Этот вариант отлично подойдет для организации сети для дома и небольшого офиса (до 6 компьютеров), используя концентратор (или, как еще говорят, хаб), например, Genius GF4050C. Преимущество данного PCI концентратора состоит в том, что он ставится внутрь компьютера как обычная плата расширения. И за совсем небольшие деньги ($45) вы получите 100 Мегабитную скоростную сеть в своем офисе. Но следует учесть, что при выключении сервера (ПК, где установлен хаб) сеть работать не будет. Однако, концентратор не требует лишней розетки питания и не занимает на столе место.


Внутренний хаб

Соединяем 5-20 и более ПК через Центральный ПК-сервер

Создаем сеть с центральным компьютером-сервером, который служит в качестве свича.
Этот вариант предназначен для больших офисов и корпоративных организаций. Можно соединить между собой более 20 ПК. В качестве концентратора служит Центральный компьютер-сервер с установленной на нем какой-либо сервеной ОС, например, FreeBSD + свич.

После превышения количества компьютеров в локалке больше 20-ти, нужно отказаться от свича (хаба) и ставить центральный сервер, т.к. при таком количестве ПК, передача данных будет приводить к торможению компьютера. Это происходит из-за лишней нагрузки на процессор при передаче/приеме данных, поскольку приходится много обрабатывать, например, когда скачивается фильм (ресурсы уходят на создания пакетов у того, где считывают данные, и разбор пакетов, где происходит прием данных). Все это приводит к торможению производительности обеих компьютеров: у того, кто считывает и больше всего у того, где считывают данные. Если стоит ценр. сервер, то этим делом занимается он, а не компьютеры-клиенты. Именно поэтому и ставят центральный сервер. Свич берет на себя некоторую часть обработки, но этого недостаточно при большом количестве подкюченных к сети ПК.

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

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

Нас окружает все больше и больше устройств, которые могут подключаться к локальной компьютерной сети или мировой сети интернет. Давайте рассмотрим, как организовать подключение нескольких компьютеров или устройств в локальную сеть. Как организовать доступ в интернет по локальной сети, чтобы можно было с каждого устройства, подключенного в сеть, иметь доступ к глобальной сети интернет. Также рассмотрим, как создать беспроводную локальную сеть по Wi-Fi.

Локальная сеть между компьютерами

Для того, чтобы объединить несколько компьютеров в локальную сеть, применяется специальное устройство — коммутатор (свитч) .

Коммутатор имеет несколько разъемов — портов, к которым при помощи специального кабеля витая пара UTP-5e подключаются компьютеры или другие устройства. Витая пара с обоих сторон опрессовывается специальными коннекторами RJ-45. Такая технология проводных соединений называется Ethernet .

Подключение к интернет через локальную сеть

Существует понятие локальной компьютерной сети LAN , она является внутренней, как ее создать мы рассмотрели выше. Также существует глобальная компьютерная сеть WAN , она —внешняя.

Давайте рассмотрим, как подключить устройства, объединенные в нашу локальную сеть, к глобальной сети интернет. Чтобы из каждого отдельного устройства нашей домашней сети (стационарного компьютера, ноутбука, сетевого медиаплеера, телевизора) мы могли иметь доступ через нашего интернет провайдера в мировую сеть интернет.

Для этого используется специальное устройство — маршрутизатор (роутер) .

Маршрутизатор имеет отдельный порт WAN, к которому подключается витая пара от интернет провайдера. Через этот порт осуществляется подключение нашей локальной сети к глобальной сети интернет.

Так же, в зависимости от модели, маршрутизатор имеет несколько портов LAN, для подключения устройств локальной сети. Обычно это четыре и более портов.

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

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

Кабель от интернет провайдера подключен к порту WAN маршрутизатора. Наш маршрутизатор имеет четыре порта для подключения четырех устройств локальной сети.

Мы хотим подключить:

— три компьютера; — сетевой накопитель NAS; — телевизор с возможностью подключения к интернет; — возможно в будущем что-то еще.

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

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

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

Хочу заметить, что в нашем примере можно приобрести маршрутизатор на большее количество портов и все устройства локальной сети подключить к нему. Тогда коммутатор не нужен.

Такая конфигурация с использованием маршрутизатора позволят с каждого устройства, подключенного в локальную сеть, получить доступ в интернет по одному каналу от интернет провайдера.

Беспроводная локальная сеть по Wi-Fi

Выше мы с вами рассмотрели топологию построения проводной локальной сети. Но сегодня все появляется все больше устройств, с возможностью подключения к сети по беспроводной технологии Wi-Fi. Прежде всего это планшеты и смартфоны. Как же создать локальную сеть по Wi-Fi ? Для этого необходимо подключить в свободный порт нашего маршрутизатора или коммутатора с помощью обжатой витой пары специальное устройство — точку доступа Wi-Fi .

Она позволит обмениваться информацией между всеми устройствами, подключенными в локальную сеть как по проводной технологии Ethernet так и по беспроводной Wi-Fi. Кроме того мы получаем возможность выхода в интернет с наших планшетов и смартфонов.

Если покрытия Wi-Fi недостаточно, можно его расширить, добавив еще одну точку доступа.

В последнее время широкое распространение в квартирах и небольших офисах получили Wi-Fi роутеры, они объединяют в себе маршрутизатор и беспроводную точку доступа в одном корпусе. Как создать локальную сеть Wi-Fi роутер я подробно рассмотрел в видео, там же рассмотрел еще несколько схем создания локальной сети, которые не рассмотрены в этой статье.

Смотрите видео: Локальная сеть дома через интернет


Следующие публикации будут посвящены архитектуре (схемам и компоновке) квартирного слаботочного щита, в том числе и компьютерной сети. Что куда устанавливается, какие кабели куда протягиваются, какое оборудование применяется. Поэтому рекомендую подписаться на новостную рассылку, впереди много интересного! Форма подписки внизу статьи.

В любой организации, где есть два и более компьютера, их целесообразно объединить в локальную сеть . Сеть позволяет сотрудникам быстро обмениваться между собой информацией и документами, служит для совместного использования общего доступа в интернет, оборудования и устройств хранения информации.
Для объединения компьютеров нам понадобится определенное сетевое оборудование . В сегодняшней статье мы рассмотрим, какое оборудование применяется при создании проводной локальной сети .

Сетевое оборудование – устройства, из которых состоит компьютерная сеть. Условно выделяют два вида сетевого оборудования:

  • Активное сетевое оборудование – оборудование, которое способно обрабатывать или преобразовывать передаваемую по сети информацию. К такому оборудованию относятся сетевые карты, маршрутизаторы, принт-серверы.
  • Пассивное сетевое оборудование – оборудование, служащее для простой передачи сигнала на физическом уровне. Это сетевые кабели, коннекторы и сетевые розетки, повторители и усилители сигнала.

Для монтажа проводной локальной сети нам в первую очередь понадобятся:

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

Теперь рассмотрим подробнее всё перечисленное выше оборудование:

Сетевые проводники

В эту группу входят различные сетевые кабели (витая пара, коаксиальный кабель, оптоволокно).

Коаксиальный кабель – это первый кабель, который применялся для создания сетей. От его использования при построении локальных компьютерных сетей уже давно отказались.

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

Витая пара – самый распространенный на сегодняшний день вид кабеля, применяемый для построения локальных сетей. Кабель состоит из попарно перевитых медных изолированных проводников. Типичный кабель несет в себе 8 проводников (4 пары), хотя выпускается и кабель с 4 проводниками (2 пары). Цвета внутренней изоляции проводников строго стандартны. Расстояние между устройствами, соединенными витой парой, не должно превышать 100 метров.
Существует несколько категорий кабелей типа витая пара, которые маркируются от CAT1 до CAT7. В локальных сетях стандарта Ethernet используется витая пара категории CAT5 .

Для работы с кабелем витая пара применяются коннекторы RJ-45 .

Сетевые карты

Сетевые карты отвечают за передачу информации между компьютерами сети. Сетевая карта состоит из разъема для сетевого проводника (обычно, витой пары) и микропроцессора, который кодирует/декодирует сетевые пакеты. Типичная сетевая карта представляет собой плату, вставляемую в разъем шины PCI. Практически во всех современных компьютерах электроника сетевого адаптера распаяна непосредственно на материнской плате.Вместо внутренней сетевой карты можно использовать внешний сетевой адаптер USB: Он представляет собой переходник USB-LAN и имеет схожие функции со своими PCI-аналогами. Главным достоинством сетевых карт USB является универсальность: без вскрытия корпуса системного блока такой адаптер можно подключить к любому ПК, где есть свободный порт USB. Также USB адаптер будет незаменим для ноутбука, в котором вышел из строя единственный встроенный сетевой разъем, или возникла необходимость в двух сетевых портах.

Сетевые коммутаторы

Не так давно для построения локальных сетей применялись сетевые концентраторы (или, в просторечии, хабы ). Когда сетевая карта отсылает пакет данных с компьютера в сеть, хаб просто усиливает сигнал и передает его всем участникам сети. Принимает и обрабатывает пакет только та сетевая карта, которой он адресован, остальные его игнорируют. По сути, концентратор – это усилитель сигнала.

В настоящее время в локальных сетях применяются (или, как их называют, свитчи ). Это более “интеллектуальные” устройства, где есть свой процессор, внутренняя шина и буферная память. Если концентратор просто передает пакеты от одного порта ко всем остальным, то коммутатор анализирует адреса сетевых карт, подключенных к его портам, и переправляет пакет только в нужный порт. В результате бесполезный трафик в сети резко снижается. Это позволяет намного увеличить производительность сети и обеспечивает большую скорость передачи данных в сетях с большим количеством пользователей.Коммутатор может работать на скорости 10, 100 или 1000 Мбит/с. Это, а также установленные на компьютерах сетевые карты, определяет скорость сегмента сети. Другая характеристика коммутатора – количество портов. От этого зависит количество сетевых устройств, которые можно подключить к коммутатору. Помимо компьютеров, ими являются принт-серверы, модемы, сетевые дисковые накопители и другие устройства с LAN-интерфейсом.

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

Коммутаторы бывают двух видов – управляемые и неуправляемые. Управляемые обладают дополнительной функциональностью. Так, появляется возможность управления коммутатором с помощью веб-интерфейса, объединения нескольких коммутаторов в один виртуальный со своими правилами коммутации пакетов и т.д. Стоимость управляемых коммутаторов гораздо выше стоимости неуправляемых, поэтому в малых и средних сетях используются неуправляемые коммутаторы.

Дополнительное сетевое оборудование

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

Принт-сервер , или сервер печати – это устройство, которое позволяет подключить принтер, не имеющий собственного сетевого порта к сети. Проще говоря: принт-сервер – это коробка, к которой с одной стороны подключается принтер, а с другой стороны — сетевой провод. При этом принтер становится доступным в любое время, поскольку не привязан к какому-либо компьютеру сети. Существуют принт-серверы с разными портами: USB и LPT; так же встречаются и комбинированные варианты.Повторитель предназначен для увеличения расстояния сетевого соединения путем усиления электрического сигнала. Если вы будете использовать в локальной сети кабель витая пара длиной более 100 метров, повторители должны устанавливаться в разрыв кабеля через каждые 100 метров. Питание повторителей обычно осуществляется по тому же кабелю. С помощью повторителей можно соединить сетевым кабелем несколько отдельно стоящих зданий.Маршрутизатор (или ) – сетевое устройство, которое на основании информации о структуре сети по определенному алгоритму выбирает маршрут для пересылки пакетов между различными сегментами сети.

Маршрутизаторы применяют для объединения сетей разных типов, зачастую несовместимых по архитектуре и протоколам (например, для подсоединения Ethernet к сети WAN). Также маршрутизатор используется для обеспечения доступа из локальной сети в глобальную сеть Интернет, осуществляя при этом функции межсетевого экрана.Маршрутизатор может быть представлен не только в аппаратном виде, но и в программном. Любой компьютер сети, на котором установлено соответствующее программное обеспечение, может служить маршрутизатором.

История операционной системы Linux началась, естественно, с создания операционной системы Unix. В конце 60-х годов завершился проект Multics, над которым работали сотрудники компаний General Electrics, AT&T Bell Laboratories и Массачусетского института. Результатом этого проекта стала одноименная операционная система. Операционная система Multics была многозадачной, имела высокоэффективную на то время файловую систему, а также предоставляла пользователям относительно удобный интерфейс.

В 1969 году Кен Томпсон разработал операционную систему Unix, в основе которой были принципы, которых придерживались разработчики операционной системы Multics. Новая операционная система, в отличие от Multics, могла работать на мини-ЭВМ. При этом с самого начала новая система была многозадачной и многопользовательской.

Вскоре операционная система Unix стала настолько популярной, что Кен Томпсон и Деннис Ритчи решили переписать код системы на языке С. До этого операционная система была написана на ассемблере. Это обеспечило огромною мобильность операционной системы - ОС Unix могла быть перенесена практически на любую платформу без перепрограммирования. Нужно было только модифицировать небольшую часть ядра, написанную на ассемблере.

Через определенное время операционная система Unix стала стандартным программным продуктом, который распространялся многими компаниями, включая IBM и Novell.

В 1972 году началась массовая продажа лицензий на эту операционную систему различным пользователям. С этого момента ОС Unix неофициально стала коммерческим программным продуктом.

Калифорнийский университет в Беркли также приобрел лицензию на ОС Unix. Специалисты этого университета внесли много изменений, которые вскоре стали стандартными. В 1975 году Калифорнийский университет выпустил свою версию Unix - Berkeley Software Distribution (BSD). Эта операционная система стала основным конкурентом операционной системы, разработанной компанией AT&T.

Постепенно другие компании, последовав примеру Калифорнийского университета, начали выпускать свои версии Unix. Например, в 1980 году компания Microsoft выпустила ОС Xenix. Правда, данная операционная система не могла составить конкуренцию Unix, так как не поддерживала многопользовательский режим, а была предназначена для одного пользователя.

В 1982 году компания AT&T выпустила версию Unix System3.Это была первая официальная коммерческая версия ОС Unix. Следующей версией стала Unix System V. Помимо различных нововведений, эта версия отличалась серьезной технической поддержкой.

Разработчики BSD Unix также не сидели сложа руки и в 1983 году Калифорнийский университет выпустил версию Unix BSD 4.2. Эта операционная система содержала довольно мощные средства управления памятью, файлами, печатью, а также в ней был реализован протокол TCP/IP, который сейчас во всю применяется в сети Интернет. Многие фирмы-производители выбрали именно Unix BSD 4.2.

Широкое распространение различных версий Unix привело к необходимости создания стандарта на эту операционную систему. В середине 80-х годов выделились два основных стандарта - Unix System V и BSD Unix. Компания AT&T Labs передала права на разработку версии Unix System V компании Unix System Labs. Эта компания в 1991 году представила операционную систему System V 4, в которой были реализованы практически все возможности операционных систем System V 3, BSD 4.2, Xenix.

Четыре компании, в том числе IBM и Hewlett-Packard, создали фонд открытого программного обеспечения (Open Software Foundation, OSF). Целью этого фонда было создание собственной версии Unix. В результате появился еще один стандарт - OSF Unix.

В 1993 году компания AT&T продала свою часть прав на ОС Unix компании Novell. После этого были выпущены версии Unix компании Novell, которые были основаны на версии System V 4. Новая операционная система была названа UnixWare.

Параллельно с развитием операционных систем развивались графические интерфейсы. До начала 90-х годов выделились два основных графических интерфейса пользователя: Motiff и OpenLook. Впоследствии эти два интерфейса были определены в один, получивший название Common Desktop Environment (CDE).

Операционная система Unix с самого начала была требовательна к аппаратным ресурсам компьютера. Для нормальной работы нужна была довольно мощная рабочая станция. Некоторые версии были рассчитаны только на определенные платформы. Например, SunOS была предназначена только для рабочих станций Sun, AIX - для рабочих станций IBM, a AUX - для компьютеров Macintosh.

Прообразом Linux стала операционная система Minix, разработанная Эндрю Таннебаумом. ОС Minix являлась небольшой UNIX-системой, которая была предназначена даже не для реального использования, а для демонстрации возможностей системы Unix. Вдохновленный идеей создать собственную Minix, Линус Торвальдс начал работу над операционной системой Linux. Впервые ОС Linux обсуждалась в конференции USENET comp.os.minix.

5-го октября 1991 года Линус Торвальдс объявил о выходе первой «официальной» версии Linux 0.02. Тогда в этой операционной системе работали только интерпретатор bash (Bourne Again Shell) и gcc (GNU С compiler). Основное внимание уделялось созданию ядра. Никакие вопросы поддержки пользователей, тиражирования и документирования даже не обсуждались.

Постепенно к разработке ядра и другого программного обеспечения присоединились тысячи других разработчиков со всего мира. На сегодняшний день Linux считается единственным примером столь масштабного сотрудничества программистов. Linux сегодня - это полноценная операционная система семейства UNIX, поддерживающая широкий спектр аппаратных средств, протокол TCP/IP, графический интерфейс пользователя, что позволяет использовать ее не только как сервер, но и как высокопродуктивную рабочую станцию.

С самого начала ОС Linux разрабатывалась для персональных компьютеров на платформе Intel. Co временем некоторые компании начали разрабатывать версии Linux для своей платформы, например, Sun Microsystems. Многие компании, в том числе и отечественные, разработали свои версии Linux.

Прочитав много книг, посвященных Linux, я заметил, что практически во всех, особенно в книгах зарубежных авторов, есть раздел «Где достать Linux?». В этой книге такого раздела не будет благодаря самой ОС Linux.

Повсеместное распространение этой операционной системы привело к тому, что дистрибутив Linux можно купить практически в любом магазине, торгующем компакт-дисками, а на рынке даже появились полиэтиленовые пакеты с изображением пингвина и надписью «Linux».

1.3. Почему именно Linux?

Каждая операционная система имеет свое «призвание». Операционную систему Windows NT Server предпочтительнее использовать как сервер рабочих групп сетей Microsoft. Система Novell Netware лучше «смотрится» в роли файлового сервера и сервера печати. ОС UNIX первоначально разрабатывалась как Интернет-сервер. Средства для работы с Сетью встроены непосредственно в ядро этой операционной системы, а все необходимое программное обеспечение для организации сервера входит в состав дистрибутива. UNIX-система работает со всеми сетевыми протоколами (особенно с TCP/IP) лучше, чем любая другая операционная система для платформы Intel. Все перечисленные выше качества касаются также и ОС Linux.

Устанавливая Linux, вы получаете также множество других преимуществ. Во-первых, вам становятся доступны исходные тексты ядра и вы можете модифицировать систему так, как вам нужно. Такое можно встретить далеко не в каждой операционной системе, особенно в ОС семейства Microsoft. Вы видели где-нибудь исходные тексты хотя бы Блокнота Windows? Мне, например, очень не хватает функции замены текста в этом редакторе. Для решения этой проблемы я написал собственный редактор, в котором и реализовал эту функцию. А если мне нужно сделать небольшое изменение в ядре? Не буду же я полностью переписывать Windows? Или ожидать новую версию «монстра», пожирающего системные ресурсы, в котором есть всего одна нужная мне функция?

Во-вторых, ОС Linux абсолютно бесплатна. Конечно, существуют коммерческие версии Linux, но в этом случае вы платите за некоторые дополнительные функции и техническую поддержку. Купив однажды компакт-диск с Linux, вы можете установить эту операционную систему на неограниченном числе компьютеров. Вам не нужно ничего доплачивать, вам не нужно платить за каждый дополнительный процессор - ОС Linux поддерживает SMP и при этом тоже бесплатно. Кроме того, поскольку Linux является UNIX-подобной системой, в состав ее дистрибутива входит все программное обеспечение, необходимое для организации сервера.

В последнее время появилась тенденция выпускать многодисковые дистрибутивы или дистрибутивы, содержащие программное обеспечение отдельно для рабочей станции и отдельно для сервера. В этом случае вам нужно купить только первый и, возможно, второй компакт-диск. Если дистрибутивы разделены на категории «сервер» и «рабочая станция», как это сделали разработчики ASP Linux, покупайте, естественно, серверную версию.

В любом случае стоимость всего программного обеспечения составит несколько долларов. Я не буду сравнивать стоимость построения Linux-сервера со стоимостью аналогичного сервера на платформе Microsoft. Вы сами это можете сделать на сайте компании Microsoft. К тому же, если вам необходим сервер Windows NT(2000) Server, вы можете спокойно заменить его SMB-сервером на базе Linux. Кстати, решению именно этого вопроса посвящена глава 9 данной книги.

В-третьих, ОС Linux легка в освоении и сопровождении. Для облегчения перехода с ОС Windows NT(2000) Server, где вы для настройки сервисов в основном используете графический интерфейс, создано множество графических конфигураторов. Эти конфигураторы значительно упрощают процесс настройки системы. Для большего понимания я старался в книге излагать материал, не прибегая к помощи конфигураторов. Зная расположение и формат системных файлов, вы сможете настроить практически любой дистрибутив, в котором нет графических конфигураторов или они недоступны. Что касается самих конфигураторов, то работа с ними интуитивно понятна и, если вы будете представлять себе суть дела, не должна вызвать затруднений.

В-четвертых, операционная система Linux не так требовательна к системным ресурсам как другие операционные системы. Например, для организации Интернет-сервера вам вполне хватит старенького компьютера с процессором Intel 80486DX и 32 мегабайтами ОЗУ. Конечно, системные требования зависят от версии ядра и выбранного вами дистрибутива. Организовать сервер на вышеупомянутой машине можно, используя дистрибутив Red Hat Linux версии 5.2. Возможно, он не будет удовлетворять всем требованиям безопасности, но при правильной настройке вам подойдет и этот дистрибутив. И в самом деле, вы же не собираетесь строить систему электронных платежей, основанную на процессоре Intel 80486.

ОС Linux, как и большинство программного обеспечения для этой операционной системы, распространяется по лицензии GPL. В двух словах лицензия GPL означает, что вы можете свободно использовать и распространять программное обеспечение, лицензируемое GPL, а также использовать его для создания другого свободно распространяемого программного обеспечения.

1.4. Область применения Linux-серверов

Операционная система Linux получает все большее распространение. В настоящее время Linux все чаще можно увидеть установленной на компьютерах домашних пользователей. Этому способствует дружественный интерфейс, надежность и быстродействие ОС Linux. Определенную роль, конечно, сыграла и лицензионная политика корпорации Microsoft - домашнему пользователю дешевле купить ОС Linux, чем покупать новый компьютер за $400 и Windows 98 за $60.

В этой главе мы не будем обсуждать преимущества Linux в качестве настольной системы, а поговорим о Linux-серверах. Microsoft Windows NT Server (и Windows 2000 Server), на мой взгляд, больше подходит как сервер для небольшой рабочей группы. По своим параметрам Windows NT(2000) Server довольно надежна и быстра, но все же ей не хватает масштабируемости, несмотря на заявления Microsoft о своих серверах.

Чтобы понять, почему Linux целесообразно использовать именно в качестве Интернет-сервера, немного вспомним историю. Давайте сначала обратимся к тем далеким 80-м годам прошлого столетия, когда в кабинетах стояли «калькуляторы» под управлением DOS: неприятный интерфейс, однозадачность, отсутствие поддержки мультимедиа, а под термином «сеть» понималось соединение двух компьютеров через последовательный или параллельный порт с помощью Norton Commander. В начале 90-х годов (а именно в 1993 году) ситуация несколько изменилась: Microsoft выпустила рабочий вариант ОС Windows - Windows 3.1. Что же было новым в Windows 3.1? Во-первых, это многозадачность, во-вторых, поддержка виртуальной памяти, и, конечно же, относительно удобный графический интерфейс. В операционной оболочке (системой ее назвать трудно) Windows 3.1 не были реализованы сетевые функции. Поддержка сети появилась в следующей редакции Windows - Windows for Workgroups.

В 1995 году появилась операционная система Windows 95, представленная Microsoft чуть ли не самой совершенной системой. Однако эта операционная система также не была сетевой, а лишь с поддержкой сетевых функций. Принципиальным отличием от Windows 3.1 была 32-разрядность этой системы. В следующем году Microsoft выпускает настоящую сетевую операционную систему - Windows NT 4 Server. В этой системе был реализован (и нормально функционировал) протокол TCP/IP, который является стандартом сети Интернет, но протоколом по умолчанию он не являлся, а устанавливался опционально, то есть по требованию администратора.

В 2000 году мы стали свидетелями появления новой сетевой серверной операционной системы от Microsoft - Windows 2000 Server. Помимо прочих достоинств Windows 2000 по сравнению с Windows NT 4 Server, нужно отметить службу управления каталогами Active Directory, поддержку по умолчанию протокола TCP/IP, а также средства для квотирования (ограничения дискового пространства).

Все кажется просто прекрасным, однако, если разобраться более детально, то в 2000 году Microsoft достигла того, что уже существовало в Unix еще в 80-х годах. Попробую сейчас все разъяснить. С самого своего начала (с 1979 года), операционная система Unix была:

1. 32-разрядной.

2. Многозадачной.

3. Многопользовательской, а значит сетевой.

Достижения инженерной мысли, о которых мы узнали только в 1993 году - многозадачность и поддержка виртуальной памяти, были реализованы в Unix еще в далеком 1979 году. К тому же, протокол TCP/IP включен в состав ядра системы по умолчанию, а это говорит о многом. Хотя бы о том, что благодаря поддержке ядром протокола TCP/IP достигается высокое быстродействие программ, использующих этот протокол. Существует даже выражение: «Unix создан для сети, как птица для полета».

Квотированием, которое появилось в Windows совсем недавно, настоящих юниксоидов тоже не удивишь. А службу Active Directory можно заменить на Network Information Service.

Может быть, это и не полноценная замена, но, учитывая, что этой службе уже пошел второй десяток лет…

Не нужно думать, что Unix всегда был неподъемным монстром с DOS-образным интерфейсом. Графическая система X Window создана достаточно давно и существует множество Linux-приложений, использующих графический интерфейс. А благодаря таким графическим средам как KDE и Gnome, Linux стал еще более дружелюбным. Но в нашем случае графический интерфейс не столь существенен - мы же будем с вами настраивать сервер. Например, компания Novell поначалу вообще отказалась от использования графического интерфейса в своей операционной системе, чтобы не задействовать дополнительные системные ресурсы. А поскольку Linux является прямым потомком Unix, то ей присущи все вышеописанные качества. К тому же, операционная система Linux совершенно бесплатна - об этом я уже упоминал немного раньше. Если вы считаете себя серьезным администратором, то выбор между надежностью, производительностью Linux и дружелюбным интерфейсом Windows NT (2000) Server, я думаю, очевиден.

Еще один важный аспект - документация системы. Все без исключения Unix-подобные системы очень хорошо документированы и поэтому вся необходимая информация для настройки сервера по сути уже есть в вашем компьютере. Моя же задача при этом сводится к тому, чтобы научить вас использовать эту документацию, а также на практике рассмотреть ее применение.

Итак, что же получается, что мы, используя программное обеспечение от Microsoft, отстали на двадцать лет в развитии, использовали, мягко говоря, не совсем надежное программное обеспечение и еще платили за это деньги? Ребятам из маркетингового отдела Microsoft нужно памятник поставить за их профессиональные качества.

Где же применяются Linux-серверы? Прежде всего, это Интернет-серверы. Вы можете спросить, почему именно Linux (Unix)? Почему не какая-нибудь другая операционная система, например, Windows NT (2000)? Давайте подумаем вместе. В начале 60-х годов по приказу Министерства обороны США была создана сеть Arpanet, которая и послужила в дальнейшем прототипом для создания Интернет. Как можно использовать NT-сервер в качестве Интернет-сервера, если он был выпущен в 1996 году? А Интернет-то существовал с 70-х годов. И существовал именно благодаря Unix-системам. Так почему же не использовать для предоставления Интернет-услуг родную операционную систему? В самом деле, не будете же вы покупать для своего BMW запчасти от Hond"ы? В случае с Интернет это равноценное сравнение: Linux (Unix) для Интернет - абсолютно родная система. Использование других систем допустимо и кому-то может показаться более удобным, но только на том уровне, как будто бы вы действительно в автомобиль одной хорошей марки вставили бы деталь от автомобиля другой хорошей марки. Обе марки автомобилей хороши, но детали одной из них не предназначены для другой. Для справки: относительно недавно был открыт сайт президента России. Так вот этот сайт, к которому предъявляются повышенные требования надежности, безопасности и производительности, базируется именно на основе Red Hat Linux.

Многие правительственные и финансовые организации всего мира, например, Министерство иностранных дел Германии, используют Linux (SuSE Linux), а немецкий Dresdner Bank совместно с американской компанией CollabNet объявил о новой банковской информационной системе, построенной на основе Linux. И тут, как вы видите, дело не в деньгах - платить или не платить за Linux, а в заботе организаций о своей информационной безопасности и надежности своих серверов. Как объяснить клиенту, что его счет «будет закрыт», поскольку «программа выполнила недопустимую операцию»? Тут даже созданный журнал ошибок не поможет.

Второй отраслью применения Linux-серверов является создание кластеров для произведения параллельных вычислений. По определению кластер - это несколько компьютеров, объединенных вместе для совместного решения одной задачи. Объединение компьютеров, как правило, производится с помощью высокоскоростной сети. На сегодняшний день создано специальное программное обеспечение, позволяющее собрать кластер даже в домашних условиях, например, PVM (Parallel Virtual Machine). Более подробно останавливаться на этом вопросе мы не будем, так как параллельные вычисления и компьютерное моделирование - это уже тема для другой книги.

Помимо всего вышеуказанного, существует еще множество направлений, где используются Linux-серверы: Web-серверы, РТР-серверы, почтовики, шлюзы, Х-серверы, можно даже эмулировать домен NT с помощью пакета Samba. Все эти вопросы будут рассмотрены в данной книге.

1.5. Как устроена данная книга

«Не сразу Москва строилась», поэтому и настройку нашего сервера будем производить с малого, а потом постепенно будем его наращивать. Сразу нужно оговориться, что, возможно, при настройке вашего сервера вам не потребуется читать все главы. Например, если вы хотите настроить почтовик, то вам незачем разбираться с настройкой сервера для удаленного доступа. Хотя прочитать всю книгу все же стоит - для общего развития.

Во второй главе достаточно подробно рассмотрена установка операционной системы Linux на примере дистрибутивов Linux Mandrake и Linux Red Hat. В этой же главе рассматривается постинсталляционная настройка пока что настольной версии Linux.

В третьей и четвертой главах обсуждаются общие принципы работы с операционной системой Linux. В третьей главе рассматриваются учетные записи, а в четвертой - работа с файловой системой Linux. Очень советую вам разобраться с правами доступа к файлам и каталогам. Большое значение для организации сервера имеет настройка дисков SCSI и массивов RAID. Особое внимание обратите на создание резервных копий, если вы, конечно, настраиваете «серьезный» Linux-сервер.

В пятой главе рассматриваются основы управления процессами в Linux. Эта глава имеет больше теоретическое, чем практическое значение, но какая же практика без теории?

Шестая глава посвящена русификации дистрибутива. Так как современные дистрибутивы практически не имеют проблем с русификацией, вы можете без особых угрызений совести прочитать данную главу «по диагонали».

В седьмой главе рассмотрена базовая настройка сети - установка сетевой платы, настройка протокола TCP/IP, подключение к Интернет по модемной и выделенной линиям. Особое внимание уделено настройке ADSL-соединения, которое сейчас получает все большее распространение.

В восьмой главе обсуждается непосредственная настройка сервера. Рассматриваются суперсерверы inetd и xinetd. Первый использовался в старых дистрибутивах, но вы все же можете еще встретиться с ним, a xinetd является стандартом для современных Linux-серверов. Получение и предоставление «безопасного» удаленного доступа с помощью ssh, настройка протокола динамической настройки хоста - DHCP, сетевая файловая система NFS, маршрутизация, подсчет трафика, поисковый сервер ht:/Dig - обо всем этом вы можете прочитать в восьмой главе. И это еще не все: последними пунктами в восьмой главе приведены описания настроек прокси-сервера Socks5, а также системы обнаружения и защиты от вторжения LIDS. Особенный интерес представляет программа подсчета трафика MRTG, также описанная в данной главе.

Девятая глава посвящена настройке популярного пакета samba, который используется для получения доступа к ресурсам Windows-сети. С помощью этого пакета вы также сможете настроить свой Linux-сервер для предоставления ресурсов пользователям сети Windows, которые даже и не заметят, что вместо Windows-сервера у вас установлен Linux-сервер.

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

Популярная служба передачи файлов - FTP - рассматривается в одиннадцатой главе. В этой главе обсуждаются серверы wu-ftpd и ProFTPD, a также организация виртуальных ftp-узлов.

Web-сервер Apache, практически ставший стандартом в Интернет, обсуждается в двенадцатой главе. Рассматриваются: базовая настройка, каталоги пользователей, настройка виртуальных серверов, установка и настройка SSL, а в конце главы приведен полный листинг конфигурационного файла.

Тринадцатая глава посвящена настройке сервисов POP и SMTP, а также SMTP-аутентификации. Для непосвященных: SMTP - это протокол для отправления сообщений, a POP - для их приема. Кроме этого, приведено описание создания своей собственной службы рассылки. В конце главы объясняется, как настроить популярные клиенты электронной почты The Bat!, Netscape Messenger, Outlook Express.

Безопасность при работе в сети Интернет - вот основная тема четырнадцатой главы «Бастионы», в которой рассматривается фильтрация пакетов. Здесь описывается, как закрыть доступ к вашей внутренней сети для нежеланных гостей, а также как предотвратить доступ пользователей к нежелательным ресурсам сети.

В пятнадцатой главе подробно рассматривается настройка прокси-сервера SQUID, разделение канала, программы учета трафика. Вы хотите достичь существенного прироста в работе с Web или вам надоело тратить свое драгоценное время и деньги на загрузку рекламных баннеров? Тогда эта глава для вас.

Небольшая шестнадцатая глава посвящена настройке тоже небольшого, но с большими возможностями сервера баз данных MySQL. Сначала описывается настройка сервера, а потом клиента MySQL. Последним пунктом главы приведено описание настроек связки Apache+PHP+MySQL.

Очень большое значение для всей книги имеет семнадцатая глава - «Практические примеры». В ней рассматривается настройка шлюза для доступа в Интернет и сервера удаленного доступа, а также приводится пример настройки «обратного звонка». Эта глава является как бы кульминацией всей книги. На протяжении всех предыдущих глав мы накапливаем знания, а потом настраиваем сразу два реальных сервера (или два в одном), плюс настройка полезной технологии. Примеры конфигурационных файлов, приведенные в гл. 17, являются полностью рабочими. Если у вас что-то не заработало, особенно при настройке сервера удаленного доступа, то у вас просто неправильно настроены модемы. Для их правильной настройки прочтите руководство по модему. Конфигурации для некоторых модемов приведены в этой же главе.

Оптимизация работы ядра операционной системы Linux и его компилирование рассматривается в восемнадцатой главе. Иногда полезно исключить из ядра лишний код для повышения производительности всей системы. Да и ядро при этом становится более компактным.

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

Двадцатая глава посвящена установке, настройке и использованию графической системы X Window, а также оконных сред KDE и GNOME.

На сегодняшний момент времени очень большое распространение и популярность приобрели компьютерные клубы. Однако ни для кого не является большим секретом то, что абсолютное большинство из них использует нелицензионное программное обеспечение, в том числе и продукты компании Microsoft. Тому, как перевести компьютерный клуб на бесплатную операционную систему Linux, посвящена глава под номером двадцать один. В этой главе рассмотрены также вопросы администрирования компьютерно-го клуба (управление пользователями, вопросы безопасности, запись журналов, отслеживание времени работы и т.п.), а также приведен листинг несложного управляющего модуля (Louncher"a). Экспериментируя с ним, вы сможете добиться самых различных результатов. Большое внимание в двадцать первой главе уделено описанию настроек Windows-игр под Linux и использованию Windows-эмулятора. Благодаря информации, которую вы почерпнете в данной главе, вы сможете спокойно играть в Quake 2 и 3, Counter Strike, Unreal Tournament, Diablo 2 и многие другие.

Двадцать вторая глава целиком посвящена антивирусной защите. Подробно рассмотрены настройка и использование под Linux лучших антивирусов: DrWeb и AVP. Отдельно написано о проверке входящей и исходящей почты на предмет вирусов.

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

В приложениях приведено назначение и расположение системных файлов Linux (приложение А) и общие параметры программ, предназначенных для работы с системой X Window (приложение Б) . Очень полезным может оказаться рассмотрение моего компактного ядра Linux, приведенное в приложении В. Помимо самого листинга даны рекомендации как с ним работать и как его использовать. В приложении Г приведен список наиболее интересных и полезных ссылок (URL-адресов), по которым вы можете найти самую различную информацию, касающуюся ОС Linux. Описание прилагаемого компакт-диска вы найдете в последнем приложении.

1.6. Какие сервера бывают и для чего они нужны

Для полноты картины рассмотрим несколько различных типов серверов:

1. Сервер локальной сети.

3. Сервер удаленного доступа.

Сервер любого типа вы сможете настроить с помощью данной книги.

1.6.1. Сервер локальной сети

Сервер локальной сети (рис. 1.1) - это сервер, оказывающий услуги пользователям сети Интранет (Intranet). He путайте «Интранет» с «Интернет». Сеть Intranet - это внутренняя корпоративная сеть, как правило, без выхода в Интернет.

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

Для сервера баз данных и файлового сервера вообще желательно выделить по одному компьютеру, потому что если нагрузка на сервер баз данных довольно большая, а это в большинстве случаев именно так, то это будет снижать производительность файлового сервера, и наоборот. Если производительность сервера будет низкой, то, как всегда, страдает пользователь. В свою очередь, «страдания» пользователей отразятся ни на ком другом, кроме как на вас - администраторе.

Рис. 1.1. Сервер локальной сети


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

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

О выборе сетевого адаптера и о другом «железе» для сервера написано в п. 7.6 «Несколько слов перед настройкой сервера». Здесь же нужно сказать пару слов о выборе коммутатора. Раньше основным камнем преткновения для использования коммутаторов была их высокая стоимость. Сейчас можно купить довольно производительные коммутаторы за относительно небольшие деньги. Для домашнего или небольшого офиса можно порекомендовать коммутатор LUCENT CAJUN P115G. Он имеет 24 порта 10/100 Мбит, а также 1 оптоволоконный порт 100FX. По последним данным его стоимость составляет около 230 долларов США.

Более дорогой и более производительный вариант на 48 портов 10/100 Mbit LUCENT-CAJUN P334T. Этот коммутатор обладает внутренней шиной на 8 Гбит, а также модульной конструкцией, что позволяет устанавливать дополнительные модули. Стоимость модели Р334Т - около $900. При установке дополнительных оптоволоконных портов 100FX стоимость увеличится примерно на $150…250 в зависимости от количества портов.

1.6.2. Шлюз - сервер для доступа в Интернет

В том случае, если в вашей внутренней сети необходим доступ к Интернет, имеет смысл установить сервер для доступа к всемирной Сети (см. рис. 1.2). Это и есть шлюз. Шлюзом может быть и отдельное устройство, но в локальных сетях с выходом в Интернет обычно устанавливается целый сервер для доступа к Интернет. Это намного удобнее, так как кроме шлюза можно также настроить Web, FTP, SMTP/POP-сервер. В этом случае вы сможете размещать информацию о вашей компании в Интернет и настроить собственный почтовый сервер. Для этих же целей существуют аппаратные преднастроенные решения различных компаний, например, компании Intel. Но возможности администрирования таких устройств довольно ограниченные. Ощутить свободу действий как администратор вы сможете только в случае, когда у вас будет полноценный сервер.

Рис.1.2. Сервер для доступа к Интернет (шлюз)


Что же изменилось по сравнению с рис. 1.1? Вы правы, появилась выделенная линия. Обычно подключение сервера (читайте: локальной сети) к Интернет происходит по выделенной линии. В простейшем случае для организации выделенной линии необходим модем, позволяющий работать на выделенных линиях. Я бы порекомендовал использовать ZyXEL U336S. Этот модем поддерживает двух– и четырёхпроводные линии, а также синхронную и асинхронную передачу данных. Максимальная скорость передачи 300…480 Кбит/с. Это уже будет считаться рекламой модемов ZyXEL, но я все-таки напишу, что данные модемы работают практически на любых (даже на самых зашумленных) линиях. При организации модемного пула, о котором поговорим немного позже, также желательно установить модемы ZyXEL. В большинстве случаев скорость передачи 300…480 Кбит/с вас не будет устраивать. В этом случае могут помочь DSL-модемы, обеспечивающие передачу данных со скоростью до 1 Мбит/с. Если позволяют условия расположения вашего офиса, можно купить оборудование Radio Ethernet.

1.6.3. Сервер удаленного доступа

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

Рис. 1.3. Сервер удаленного доступа


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

Однако, если нужно обеспечить постоянную работу удаленных пользователей в сети компании, то для этого существуют более эффективные решения, например, технология Radio Ethernet.

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

Пунктирной линией на рис. 1.3 обозначено непостоянное (dial-up) подключение пользователя.

Как я уже писал, для модемного пула я рекомендую устанавливать модемы ZyXEL. Модемы Robotics тоже хорошо работают, но ZyXEL - это мой субъективный выбор. В случае с выделенной линией вероятность возникновения каких-либо помех на линии значительно меньше, чем при работе с обыкновенными телефонными линиями. Чтобы обеспечить надежное соединение пользователя, нужно установить профессиональные модемы и правильно настроить их. О том, как настраивать модемы, вы прочитаете в документации по модему. Лучший модем в этом случае - это модем, который лучше остальных работает на данной линии. Сейчас мы не рассматриваем случай, когда вы являетесь Интернет-провайдером и у вас нет возможности проконтролировать, какой модем установил пользователь. Перед покупкой модема протестируйте его работу на линии - обычно фирма-продавец разрешает сделать это. Когда вы найдете оптимальный вариант по цене и качеству - покупайте.

Тестировать подключение нужно непосредственно на той АТС, к которой подключен пользователь. Не повторяйте распространенной ошибки, когда администратор, настроив сервер удаленного доступа, пытается протестировать соединение, позвонив с другого номера той же АТС. Учитывая качество наших телефонных линий, результаты тестирования на разных АТС будут отличаться. Лучше всего тестировать подключение, находясь на рабочем месте удаленного пользователя.

Обратите внимание на «карьеру» нашего сервера: мы постепенно наращиваем его, добавляя новые функции. Сначала он был рядовым сервером локальной сети, затем он начал предоставлять доступ пользователей к Интернет, а потом мы построили сервер удаленного доступа.

1.7. Что такое сервер? (или Курс Молодого Администратора)

Эта глава предназначена для начинающих системных администраторов, которые вообще с трудом представляют, что такое сервер и с чем его едят. Я принципиально не буду называть таких читателей «чайниками», поскольку сам когда-то таким был. В этой главе я попытаюсь вкратце объяснить некоторые термины, которые связаны с сетью (я имею в виду компьютерной!), а также с протоколом TCP/IP. Эту главу можно рассматривать как своеобразный курс молодого бойца (администратора). Сразу нужно отметить, что углубляться в технические подробности мы не станем - для этого существует множество другой литературы, например, «Компьютерные сети. Принципы, технологии, протоколы» В.Г. Олифера.

1.7.1. Архитектура сети: одноранговая и клиент/сервер

Начнем с самого главного - архитектуры сети. Существуют две основные архитектуры сети: одноранговая (peer-to-peer) и клиент/сервер (client/ server), причем вторая практически вытеснила первую. В одноранговой сети все компьютеры равны - имеют один ранг. Любой компьютер может выступать как в роли сервера, то есть предоставлять свои ресурсы (файлы, принтеры) другому компьютеру, так и в роли клиента, другими словами - использовать предоставленные ему ресурсы. Одноранговые сети преимущественно распространены в домашних сетях или небольших офисах. В самом простом случае для организации такой сети нужно всего лишь пара компьютеров, снабженных сетевыми платами и коаксиальный кабель (нужна еще пара терминаторов (заглушек), но я обещал сильно не углубляться).

Когда сеть создана физически (компьютеры связаны с помощью коаксиального кабеля), нужно настроить сеть программно. Для этого необходимо, чтобы на компьютерах были установлены сетевые операционные системы (Linux, FreeBSD, Windows NT, Windows 98) или сетевые системы с поддержкой сетевых функций (Windows 95, Windows for Workgroups).

Компьютеры в одноранговой сети объединяются в рабочие группы. Каждая рабочая группа имеет свой идентификатор - имя рабочей группы. Если вы сейчас работаете в Windows 9x, узнать имя рабочей группы вы можете, запустив апплет Сеть с Панели управления (см. рис. 1.4).

Рис. 1.4. Идентификатор рабочей группы в ОС Windows 9x


Для примера допустим, что в вашей одноранговой сети три компьютера А, В, С. Первые два входят в рабочую группу WG1, а компьютер С - в рабочую группу WG2 (см. рис. 1.5).

Рис. 1.5. Схема одноранговой сети


Даже несмотря на то, что компьютеры входят в один сегмент сети (физически подключены к одному кабелю), компьютеры А и В не будут «видеть» компьютер С, а компьютер С не будет видеть компьютеры А и В. Если выполнить команду поиска компьютера в Windows 9x (Пуск→Поиск→Найти компьютер), компьютер «увидит» компьютеры А и В, но будет сообщено, что они находятся в другой рабочей группе - WG1.

Единственное ограничение доступа, которое возможно в одноранговой сети, это использование пароля для доступа к какому-нибудь ресурсу. Для того, чтобы получить доступ к этому ресурсу, например, принтеру, нужнознать пароль. Это называется управлением доступом на уровне ресурсов. В сети клиент/сервер используется другой способ управления доступом - на уровне пользователей. В этом случае можно разрешить доступ к ресурсу только определенным пользователям. Например, ваш компьютер А через сеть могут использовать два пользователя: Иванов и Петров. К этому компьютеру подключен принтер, который можно использовать по сети. Но вы не хотите, чтобы кто угодно печатал на вашем принтере, и установили пароль для доступа к этому ресурсу. Если у вас одноранговая сеть, то любой, кто узнает этот пароль, сможет использовать ваш принтер. В случае с сетью клиент/сервер вы можете разрешить использовать ваш принтер только Иванову или только Петрову (можно и обоим).

Для получения доступа к ресурсу в сети клиент/сервер пользователь должен ввести свой уникальный идентификатор - имя пользователя (login - логин) и пароль (password). Логин пользователя является общедоступной информацией и это правильно: возможно, если кто-нибудь захочет отправить пользователю сообщение по электронной почте, то для этого ему достаточно знать его логин (естественно, и имя сервера электронной почты, который «знает» этого пользователя).

Использование логина и пароля для доступа к ресурсам называется аутентификацией пользователя (user authentication). Существуют и другие виды аутентификации, например, аутентификация источника данных или однорангового объекта, но сейчас мы рассматривать их не будем. В любом случае, аутентификация - это проверка подлинности.

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

В отличие от одноранговой сети, в сети клиент/сервер существует один или несколько главных компьютеров - серверов. Все остальные компьютеры сети называются клиентами или рабочими станциями (workstations). Как я уже писал выше, сервер - это специальный компьютер, который предоставляет определенные услуги другим компьютерам. Существуют различные виды серверов (в зависимости от предоставляемых ими услуг): серверы баз данных, файловые серверы, серверы печати (принт-серверы), почтовые серверы, Web-серверы и т.д.

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

Функции и программное обеспечение сервера Таблица 1.1

Функция Программное обеспечение Дистрибутив Глава
Авторизация удаленных пользователей (dialup) Пакет ррр Да 17
Автоматическое конфигурирование узлов сети dhcp Да 8
Доступ (совместный) к файлам NFS, FTPd (ProFTPD, wu-ftpd) Да 8, 13
Доступ к сети Microsoft Пакет samba Да 9
Кэширование передаваемой информации Пакет Squid Да 15
Маршрутизация route(d) Да 8, 14
Обмен сообщениями электронной почты Пакеты sendmail (или postfix/qmail) и imap Да (Да/Нет), Да 13
Подсчет передаваемого по сети трафика ядро Linux, IPChains Да 8, 14
Передача секретной информации modSSL Да (не во всех дистрибутивах) 12
Разрешение (резолвинг) имени компьютера в IP-адрес Пакет bind Да 10
Сетевая печать Lpd, Samba, CUPS Да 6, 9
Функции Web-сервера Пакет apache Да 12
Фильтрация пакетов IPChains (IPTables в новых версиях Linux) Да 14
Управление базой данных MySQL / PostgreSQL / InterBase Да / Да / Не во всех 16
IP-Маскарадинг IPChains Да 14

В графе Дистрибутив отмечено, входит ли указанное программное обеспечение в состав распространенных дистрибутивов, а в графе Глава указывается глава книги, в которой описана настройка интересующей вас функции.

Для экономии средств, как правило, один сервер сочетает в себе функции нескольких серверов, например, почтовик может быть также и Web-сервером. Услуги, которые может предоставлять сервер, ограничиваются только его физическими возможностями - чем мощнее сервер, тем больше услуг и с большим качеством он может предоставлять, поэтому в качестве сервера выбирается довольно мощный компьютер. Хотя эта формула (чем мощнее, тем лучше) не всегда оправдана, например, если ваш сервер используется для предоставления доступа к Интернет небольшой сети, то в этом случае с поставленной задачей прекрасно справится старенький 486DX/66 - 32 Мб ОЗУ. Однако, если вы являетесь Интернет-провайдером, то есть предоставляете коммерческий доступ к сети Интернет, такой конфигурации будет явно недостаточно.

Хотя установке Linux посвящена вторая глава, в которой подробно расписаны все рекомендуемые конфигурации, уже сейчас отмечу, что в случае с Linux-сервером объем оперативной памяти более критичен, чем частота процессора. Поэтому, если у вас есть возможность установить больше оперативной памяти, установите - не пожалеете.

Примечание. Иногда увеличивать объем памяти нецелесообразно, потому что машина будет работать медленнее, чем до модернизации. Это может произойти, если вы используете некоторые старые чипсеты, которые не кэшируют объемы оперативной памяти более 64 Мб (или 128 Мб), а так как операционная система загружается в старшие адреса, освобождая младшие адреса для прикладных программ, общая производительность системы будет снижена. Перед модернизацией рекомендую ознакомиться с документацией на материнскую плату.

1.7.2. Протокол и интерфейс

Теперь пора уже перейти к протоколам, в частности, к протоколу TCP/IP, который лежит в основе сети Интернет. Протокол - это совокупность правил, определяющая взаимодействие абонентов вычислительной системы (в нашем случае - сети) и описывающая способ выполнения определенного класса функций. Еще один термин, который мы будем часто употреблять - интерфейс. Интерфейс - это средства и правила взаимодействия компонент системы между собой. Чтобы лучше понять значения этих терминов, обратите внимание на рис. 1.6. На этом рисунке изображены две системы (компьютера) - А и В.

Из рис. 1.6 видно, что средства, которые обеспечивают взаимодействие модулей разных уровней в рамках одной системы (например, В1 и В2), называются интерфейсом, а средства, обеспечивающие взаимодействие компонент одного уровня разных систем (например, А1 и В1), называются протоколом. Протокол и интерфейс можно сравнить еще и так: разговор двух директоров разных предприятий можно назвать протоколом, а разговор директора и подчиненного одного предприятия можно считать интерфейсом. Как вы уже догадались, разговор сотрудников разных предприятий будет протоколом.

Рис. 1.6. Протоколы и интерфейсы

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

Самым главным - святыней всех святынь - является протокол TCP/IP. TCP/IP (Transmission Control Protocol/Internet Protocol - Протокол Управления Передачей/Интернет-протокол) - это базовый транспортный сетевой протокол. На этом протоколе основана вся сеть Интернет.

Следующий важный протокол - это RIP (Routing Information Protocol). Протокол RIP используется для маршрутизации пакетов в компьютерных сетях. Для маршрутизации также используется протокол OSPF (Open Shortest Path First), который является более эффективным, чем RIP. ICMP (Internet Control Message Protocol) - протокол межсетевых управляющих сообщений. Существует несколько типов данного протокола, которые используются для определенных целей (установление соединения, проверка доступности узла).

FTP (File Transfer Protocol) - протокол передачи файлов. Служит для обмена файлами между системами. Например, вам нужно передать файл на сервер или, наоборот, скачать файл с сервера. Для этого вам нужно подключиться к файловому серверу (он же FTP-сервер) и выполнить необходимую вам операцию. Подключение осуществляется с помощью FTP-клиента. Простейший FTP-клиент входит в состав практически любой операционной системы. Обычно для запуска FTP-клиента нужно ввести команду ftp.

HTTP (Hyper Text Transfer Protocol) - протокол обмена гипертекстовой информацией, то есть документами HTML. Протокол HTTP используется Web-серверами. HTTP-клиенты называются браузерами.

POP (Post Office Protocol) - протокол почтового отделения. Этот протокол используется для получения электронной почты с почтовых серверов. А для передачи электронной почты служит протокол SMTP (Simple Mail Transfer Protocol) - протокол передачи сообщений электронной почты.

Раз уж затронули тему почтовых протоколов, давайте разберемся, как происходит чтение и отправление почты. Для получения сообщений пользователь соединяется с POP-сервером, сообщает ему свое имя пользователя и пароль, и, если аутентификация прошла успешно, получает сообщения. Обратите внимание, что пользователь именно получает сообщения, а не просматривает их. Прочитать сообщение пользователь может только после его загрузки на свой компьютер. Обычно полученные сообщения удаляются на сервере, но это зависит от настроек почтового клиента пользователя. Почтовый клиент - это программа, которая выполняет все операции по работе с электронной почтой. Самыми распространенными почтовыми клиентами являются The Bat!, Outlook, Outlook Express, Netscape Messenger, KMail.

Для передачи сообщения пользователь просто соединяется с SMTP-сервером и передает сообщение. При этом никакой аутентификации не происходит, хотя можно настроить сервер так, что он будет запрашивать имя пользователя и пароль перед началом передачи сообщения на сервер. Настройке SMTP-аутентификации посвящен п. 13.2 этой книги. После передачи сообщения на сервер SMTP оно становится в очередь. Через определенное время это сообщение передается нужному POP-серверу, который принимает сообщение. Потом сообщение может получить пользователь, для которого оно предназначено. Если же сервер SMTP не может отправить сообщение (например, нужный POP-сервер не существует или недоступен, или же адресат не зарегистрирован на этом сервере POP), письмо возвращается отправителю.

Для чтения почты существует и другой протокол - IMAP. Его отличие от протокола POP состоит в том, что пользователь читает сообщения электронной почты, не загружая их на свой компьютер. Все сообщения хранятся на сервере. При удалении сообщения оно удаляется с сервера. SLIP (Serial Line Internet Protocol) - протокол подключения к сети Интернет по последовательной линии. Используется для установления связи с удаленными узлами через низкоскоростные последовательные интерфейсы. В настоящее время вытеснен протоколом РРР и практически не используется. РРР (Point-to-Point Protocol) обеспечивает управление конфигурацией, обнаружение ошибок и повышенную безопасность при передаче данных на более высоком уровне, чем протокол SLIP. Поэтому при настройке сервера рекомендуется использовать именно этот протокол. Протокол PPP рассмотрен в RFC 1547 и RFC 1661.

Прежде чем перейти к рассмотрению протокола TCP/IP, рассмотрим семиуровневую модель взаимодействия открытых систем. Под открытой системой понимается любая система, построенная в соответствии с открытыми спецификациями. Протокол также можно рассматривать как определенное соглашение, принятое взаимодействующими объектами, в нашем случае - это компьютеры, работающие в сети. Соглашение (протокол) не обязательно должно быть стандартным, но на практике стараются использовать именно стандартные протоколы.

В начале 80-х годов международной организацией по стандартизации (ISO - International Organization for Standardization) была разработана модель взаимодействия открытых систем (OSI - Open System Interconnection). В другой литературе вы можете встретить и другие названия этой модели: сокращенное - модель OSI или более полное - семиуровневая модель взаимодействия открытых систем OSI. Средства взаимодействия (см. рис. 1.7) в модели OSI делятся на семь уровней:

1. Физический.

2. Канальный.

3. Сетевой.

4. Транспортный.

5. Сеансовый.

6. Представительный.

7. Прикладной.

Рис. 1.7. Модель OSI


Благодаря этому задача сетевого взаимодействия разбивается на несколько более мелких задач. Это позволяет при разработке новых способов и инструментов сетевого взаимодействия не разрабатывать их заново целиком и полностью, а использовать уже готовые решения, заменив только некоторые его части. Непосредственно друг с другом взаимодействуют только физические уровни. Все остальные уровни напрямую взаимодействуют только с выше– и нижележащими уровнями: пользуются услугами нижележащего и предоставляют услуги вышележащему. Друг с другом такие уровни контактируют косвенным образом, через посредство нижележащих уровней.

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

Из рис. 1.7 видно, что по мере прохождения сообщения через уровни модели OSI к пересылаемым данным добавляется служебная информация, свидетельствующая о прохождении данных через определенный уровень.

Рассмотрим взаимодействие двух компьютеров более подробно на примере файловой службы. Допустим, нам (компьютер 1) нужно записать какую-нибудь информацию в файл на удаленном компьютере 2. Обычное сообщение состоит из заголовка и поля данных. В заголовке содержится различная служебная информация. Как изменяется заголовок видно из рис. 1.7. Например, в заголовке может содержаться информация о нашем компьютере (его адрес), компьютере получателя, а также имя и расположение файла, в который нужно записать информацию. Поле данных может быть и пустым, но в нашем случае, очевидно, содержит информацию, которую нужно записать в файл.

Приложение (процесс 1) формирует стандартное сообщение, которое передается прикладному уровню. Точнее, процесс 1 работает на прикладном уровне.

После формирования сообщения прикладной уровень передает его представительному уровню. На этом уровне в заголовок добавляются указания для представительного уровня компьютера-адресата. Потом сообщение передается сеансовому уровню, который добавляет свою информацию и т.д. Процесс вложения одного протокола в другой называется инкапсуляцией.

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

Физический уровень (Physical Layer)

Физический уровень передает биты по физическим каналам связи, например, коаксиальному кабелю или витой паре. На этом уровне определяются характеристики электрических сигналов, которые передают дискретную информацию, например: тип кодирования, скорость передачи сигналов. К этому уровню также относятся характеристики физических сред передачи данных: полоса пропускания, волновое сопротивление, помехозащищенность.

Функции физического уровня реализуются сетевым адаптером или последовательным портом. Примером протокола физического уровня может послужить спецификация 100Base-TX (технология Ethernet).

Канальный уровень (Data link Layer)

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

Этот уровень выполняет адресацию по физическим адресам (МАС-адресам), «вшитым» в сетевые адаптеры предприятием-изготовителем. Каждый сетевой адаптер имеет свой уникальный МАС-адрес, то есть вы не найдете две сетевые платы с одним и тем же МАС-адресом.

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

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

В используемых протоколах канального уровня заложена определенная топология. Топологией называется способ организации физических связей и способы их адресации. Канальный уровень обеспечивает доставку данных между узлами в сети с определенной топологией, то есть для которой он разработан. К основным топологиям (см. рис. 1.8) относятся:

Общая шина.

Рис. 1.8. Основные топологии локальных компьютерны хсетей


Протоколы канального уровня используются компьютерами, мостами, маршрутизаторами. Глобальные сети (в том числе и Интернет) редко обладают регулярной топологией, поэтому канальный уровень обеспечивает связь только между компьютерами, соединенными индивидуальной линией связи. При этом для доставки данных через всю глобальную сеть используются средства сетевого уровня (протоколы «точка-точка»). Примерами протоколов «точка-точка» могут послужить РРР, LAP-B.

Сетевой уровень (Network Layer)

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

Протоколы канального уровня передают кадры между узлами только в рамках сети с соответствующей топологией. Проще говоря - в рамках одной сети.

Нельзя передать кадр канального уровня узлу, который находится в другой сети. Данное ограничение не позволяет строить сети с развитой структурой или сети с избыточностью связей. Построить одну большую сеть также невозможно из-за физических ограничений. К тому же даже если построить довольно большую сеть (например, спецификация 10Base-T позволяет использовать 1024 узла в одном сегменте), производительность данной сети не будет вас радовать. Более подробно о причинах разделения сети на подсети и возникающих при этом трудностях мы поговорим немного позже, а сейчас продолжим рассматривать сетевой уровень.

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

Сети соединяются специальными устройствами - маршрутизаторами. Маршрутизатор собирает информацию о топологии межсетевых соединений и на основании этой информации пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение от компьютера-отправителя компьютеру-адресату, который находится в другой сети, нужно совершить некоторое количество транзитных передач между сетями. Иногда их еще называют хопами (от англ. hop - прыжок). При этом каждый раз выбирается подходящий маршрут.

Сообщения на сетевом уровне называются пакетами. На сетевом уровне работают несколько видов протоколов. Прежде всего - это сетевые протоколы, которые обеспечивают передвижение пакетов по сети, в том числе в другую сеть. Поэтому довольно часто к сетевому уровню относят протоколы маршрутизации (routing protocols) - RIP и OSPF.

Еще одним видом протоколов, работающих на сетевом уровне, являются протоколы разрешения адреса - Address Resolution Protocol (ARP). Хотя эти протоколы иногда относят и к канальному уровню.

Классические примеры протоколов сетевого уровня: IP (стек TCP/IP), IPX (стек Novell).

Транспортный уровень (Transport Layer)

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

1. Срочность.

2. Восстановление прерванной связи.

3. Наличие средств мультиплексирования нескольких соединений.

4. Обнаружение ошибок.

5. Исправление ошибок.

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

Примеры протоколов транспортного уровня: TCP и UDP (стек TCP/IP), SPX (стек Novell).

Сеансовый уровень (Session Layer)

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

Сеанс - это логическое соединение между компьютерами. Каждый сеанс имеет три фазы:

1. Установление соединения. Здесь узлы «договариваются» между собой о протоколах и параметрах связи.

2. Передача информации.

3. Разрыв связи.

Не нужно путать сеанс сетевого уровня с сеансом связи. Пользователь может установить соединение с Интернет, но не устанавливать ни с кем логического соединения, то есть не принимать и не передавать данные.

Представительный уровень (Presentation Layer)

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

Пример протокола представительного уровня: SSL (Secure Socket Layer). Данный протокол обеспечивает секретный обмен данными.

Прикладной уровень (Application Layer)

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

Примеры протоколов: HTTP, FTP, TFTP, SMTP, POP, SMB, NFS.

Интернет и модель OSI

При взаимодействии открытой системы и Интернет модель OSI упрощается, так как некоторые протоколы Интернет включают в себя функции нескольких уровней. Если к сети Интернет подключается один пользователь, а не вся сеть, то автоматически исчезают канальный и физический уровни, потому что нет сетевых адаптеров, а значит, нет и физических адресов. В данном случае конечным протоколом будет протокол типа «точка-точка», например, РРР. В этот протокол будут вложены все остальные.

1.7.3. Протокол TCP/IP

В этом разделе давайте рассмотрим, как передается информация в TCP/IP-сети. Любая информация передается небольшими порциями, которые называются пакетами. Если нужный объем информации нельзя передать одним пакетом, он разбивается на части. В заголовке каждого пакета указывается IP-адрес отправителя и IP-адрес получателя, а также номер порта.

Любому компьютеру в IP-сети (TCP/IP-сети) назначен уникальный адрес, который называется IP-адресом. IP-адрес - это 32-разрядное число, которое принято записывать в десятеричном или шестнадцатиричном формате в виде четырех чисел, разделенных точками, например:

1. 111.111.213.232

При условии, что ваша сеть подключена к Интернет, протокол TCP/IP обеспечивает работу вашей сетевой программы с любым компьютером в мире, как будто тот находится в локальной сети. Уникальность IP-адреса достигается достаточно просто - IP-адреса назначаются централизованно Сетевым Информационным Центром (nic , Network Information Center).

Для понимания остальной информации нужно отметить, что существуют локальные (LAN, Local Area Networks) и региональные (Wide Area Networks) сети. Сеть Интернет сначала была региональной (Arpanet), а потом стала глобальной, объединив все региональные сети мира. Если ваша локальная (или даже региональная) сеть не соединена с Интернет, то внутри сети вы можете использовать любые IP-адреса без согласования с NIC. Обычно в локальных сетях используются особые IP-адреса, о которых мы поговорим немного позже.

Любую сеть, независимо от типа - LAN или WAN, можно разделить на подсети. Причины разбиения сети на подсети кроются в ранних версиях протокола IP. Тогда существовало несколько сетей класса А, содержащих несколько миллионов узлов (о классах читайте далее). Помимо всего прочего, в таких сетях очень велика вероятность коллизий, то есть одновременного доступа двух или более узлов к среде передачи данных. Управлять такой сетью крайне неудобно, да и сеть будет перегружена собственным трафиком. Поэтому основной принцип разделения - «разделяй и властвуй».

К другим причинам разделения относят создание маленьких подсетей с использованием разных технологий - Ethernet, Token Ring, FDDI, ATM. Вы не можете смешивать эти технологии в одной сети, однако они могут быть взаимосвязаны с помощью разделения на подсети.

Разделение на подсети может быть также произведено из соображений безопасности. Более подробно об этой и других причинах разделения сети на подсети вы можете прочитать в руководстве IP Sub-networking-HOWTO, которое вы найдете на прилагаемом компакт-диске.

Как я уже писал, каждый компьютер в сети имеет свой уникальный адрес. Но оказывается, что и сеть (подсеть) также имеет свой уникальный адрес. Под сетью можно понимать «пачку» IP-адресов, идущих подряд, то есть 192.168.1.0…192.168.1.255. Самый младший и самый старший адреса резервируются. Младший (192.168.1.0) является адресом сети, а старший является широковещательным (broadcast) адресом сети. Адрес сети может потребоваться, когда нужно указать всю сеть (подсеть), например, при задании маршрутизации для этой сети.

Представьте, что у вас есть две отдельных сети и вам нужно объединить их в одну. Тогда эта одна «большая» сеть станет называться сетью, а две «маленькие» - подсетями. Устройство, которое будет обеспечивать связь этих сетей (маршрутизацию), называется, как уже было отмечено выше, маршрутизатором. Маршрутизатор может быть как аппаратным (отдельное устройство), так и программным.

В роли программного маршрутизатора может выступать любой компьютер с двумя (или более) сетевыми интерфейсами, например, двумя сетевыми платами. В качестве операционной системы может быть установлена любая сетевая операционная система, поддерживающая перенаправление пакетов IPv4-Forwarding. Такой операционной системой может быть Linux, FreeBSD, любая UNIX-система, Windows NT/2000. Маршрутизатор можно настроить и на базе Windows 98, но делать это я не рекомендую, поскольку вряд ли он будет работать надежно. Традиционно в роли маршрутизатора используются UNIX-системы, к которым относится и Linux.

Широковещательный адрес используется для передачи сообщений «всем - всем - всем» в рамках сети, то есть когда нужно передать сообщение (пакет) сразу всем компьютерам сети. Широковещательные запросы очень часто используются, например, для построения ARP-таблиц.

Для каждой подсети определена ее маска. Фактически, маска - это размер сети, то есть число адресов в сети. Маску принято записывать в десятично-побайтном виде:

255.255.255.0 маска на 256 адресов (0…255);
255.255.255.192 маска на 64 адреса (192…255);
255.255.0.0 маска на 65536 адресов (256*256).

В общем случае IP-сети делятся на пять классов: А, В, С, D и Е.

Сети класса А - это огромные сети. Маска сети класса А: 255.0.0.0. В каждой сети такого класса может находиться 16777216 адресов. Адреса таких сетей лежат в промежутке 1.0.0.0…126.0.0.0, а адреса хостов (компьютеров) имеют вид 125.*.*.*

Сети класса В - это средние сети. Маска такой сети - 255.255.0.0. Эта сеть содержит 65536 адресов. Диапазон адресов таких сетей 128.0.0.0…191.255.0.0. Адреса хостов имеют вид 136.12.*.*

Сеть класса С - маленькие сети. Содержат 256 адресов (на самом деле всего 254 хоста, так как номера 0 и 255 зарезервированы). Маска сети класса С - 255.255.255.0. Интервал адресов: 192.0.1.0…223.255.255.0. Адреса хостов имеют вид: 195.136.12.*

Класс сети определить очень легко. Для этого нужно перевести десятичное представление адреса сети в двоичное. Например, адрес сети 128.11.1.0 в двоичном представлении будет выглядеть так:

10000000 00001011 00000001 00000000

а сети 192.168.1.0:

11000000 10101000 00000001 00000000

Если адрес начинается с последовательности битов 10, то данная сеть относится к классу В, а если с последовательности 110, то - к классу С.

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

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

Характеристики сетей различных классов Таблица 1.2

Класс Первые биты Диапазон адресов Количество узлов
А 0 1.0.0.0…126.0.0.0 16777216 (224)
В 10 128.0.0.0…191.255.0.0 65536 (216)
С 110 192.0.1.0…223.255.255.0 256 (28)
D 1110 224.0.0.0...239.255.255.255 Multicast
Е 11110 240.0.0.0…247.255.255.255 Зарезервирован

Теперь самое время немного сказать о специальных адресах, о которых я упомянул немного выше. Если весь IP-адрес состоит из нулей (0.0.0.0), то значит, что он обозначает адрес того узла, который сгенерировал этот пакет.

Адрес 255.255.255.255 - это широковещательный адрес. Пакет с таким адресом будет рассылаться всем узлам, которые находятся в той же сети, что и источник пакета. Это явление называется ограниченным широковещанием. Существует также другая рассылка, которая называется широковещательным сообщением. В этом случае вместо номера узла стоят все единицы в двоичном представлении (255). Например, 192.168.2.255. Это означает, что данный пакет будет рассылаться всем узлам сети 192.168.2.0.

Особое значение имеет IP-адрес 127.0.0.1 - это адрес локального компьютера. Он используется для тестирования сетевых программ и взаимодействия сетевых процессов. При попытке отправить пакет по этому адресу данные не передаются по сети, а возвращаются протоколам верхних уровней, как только что принятые. При этом образуется как бы «петля». Этот адрес называется loopback. В IP-сети запрещается использовать IP-адреса, которые начинаются со 127. Любой адрес подсети 127.0.0.0 относится к локальному компьютеру, например: 127.0.0.1, 127.0.0.5, 127.77.0.6.

Существует также специальные адреса, которые зарезервированы для несвязанных локальных сетей - это сети, которые используют протокол IP, но не подключены к Интернет. Вот эти адреса:

10.0.0.0 (сеть класса А, маска сети 255.0.0.0).

172.16.0.0…172.31.0.0 (16 сетей класса В, маска каждой сети 255.255.0.0).

192.168.0.0…192.168.255.0 (256 сетей класса С, маска каждой сети 255.255.255.0).

В этой книге я старался использовать именно такие адреса, чтобы не вызвать пересечение с реальными IP-адресами.

1.7.4.Системадоменныхимен-DNS

Для того чтобы подключиться к какому-нибудь другому компьютеру, например, Web-серверу, нужно знать его IP-адрес. Это не очень удобно, потому что человеку намного проще запомнить символьное название сервера, чем последовательность чисел. Представьте, что вместо http://www.romb.net в окне браузера вам нужно было бы вводить http://62.244.59.193. Оба способа будут работать, но первый запоминается намного проще. Фактически, нужно запомнить только слово из четырех букв - romb, a www и net - это «само собой». Компьютеру же, наоборот, проще обрабатывать числа, а не символьную информацию.

Для преобразования IP-адреса в символьное имя и обратно используется служба доменных имен - DNS (Domain Name System). Обычно на любом сервере устанавливается своя служба DNS, даже если этот сервер не поддерживает домена. В отличие от одноранговой сети, в IP-сети компьютеры объединяются в домены, а не в рабочие группы. На самом деле, понятие домен гораздо шире, чем рабочая группа, но пока остановимся на таком определении.

Предположим, адрес Web-сервера вашего подразделения выглядит так: http://www.department.firma.isp.ru. Рассмотрим, что происходит, когда пользователь вводит в окне браузера этот адрес. Сначала отправляется запрос на разрешение (преобразование) имени в IP-адрес серверу DNS, который принадлежит провайдеру пользователя. Если такое имя есть в кэше DNS-сервера провайдера (для определенности назовем его user-dns), он возвращает IP-адрес и браузер устанавливает соединение с этим компьютером. Если же такого адреса в кэше сервера DNS не оказалось, DNS-сервер провайдера обращается к серверу, который содержит домен наивысшего уровня, то есть к корню дерева (см. рис. 1.9). Тот обращается к домену ru (этот сервер пусть называется ru-dns). Сервер ru-dns в свою очередь обращается к серверу, который делегирует домен isp (это ваш провайдер). Сервер isp обращается к серверу, который делегирует (администрирует) домен firma, а он уже к серверу, отвечающему за домен department, который и возвращает IP-адрес компьютера www.department.firma.isp.ru. Таким образом, получается своеобразная цепочка. Ясно, что если эта цепочка оборвется на каком-нибудь звене, то пользователю, точнее, серверу DNS user-dns, будет сообщено о невозможности разрешения имени компьютера в IP-адрес.

Рис. 1.9. Иерархическая структура системы доменных имен


Вся структура службы DNS является иерархической. Существуют домены первого, второго, третьего, n-го уровней. В рассмотренном примере доменом первого уровня является ru, isp - второго, firma - третьего, а department - четвертого уровня (см. рис. 1.9).

Корневой домен управляется центром InterNIC. Домены верхнего (первого) уровня назначаются для каждой страны (см. табл. 1.3).

Обозначения стран по стандарту ISO 3166 Таблица 1.3

Домен Страна Домен Страна
ru Россия ua Украина
by Белоруссия It Литва
Iv Латвия ее Эстония
md Молдова kz Казахстан
tr Турция ro Румыния
iq Ирак ir Иран
il Израиль tm Туркменистан
pl Польша it Италия
es Испания gb Великобритания
fr Франция de Германия
id Индонезия vn Вьетнам
gr Греция va Ватикан
at Австрия co Колумбия
hu Венгрия mx Мексика

Для США и Канады единый домен отсутствует, но иногда используется обозначение us. Обозначения стран соответствуют международному стандарту ISO 3166. Данные сведения могут быть получены по адресу ftp:/ftp.ripe.net/iso3166-countrycodes.

Для различных типов организаций могут использоваться такие обозначения:

По данным ISC (Internet Software Consortium) по состоянию на январь 2002 года зарегистрировано около 150 миллионов узлов сети Интернет (см. рис. 1.10). Данные сведения публикуются с разрешения ISC.

Рис. 1.10 Динамика роста узлов в сети Интернет

1.7.5. Многоуровневая архитектура стека TCP/IP

Этот пункт книги является необязательным: если вы считаете, что у вас уже достаточно знаний о протоколе TCP/IP, то можете перейти к следующим разделам, а к этому вернуться позже. Здесь будет описана многоуровневая архитектура протокола TCP/IP - для большего понимания происходящего.

Вначале давайте рассмотрим историю создания протокола TCP/IP. Протокол TCP/IP был создан в конце 60-х - начале 70-х годов агентством DARPA Министерства Обороны США (U.S. Department of Defense Advanced Research Projects Agency). Основные этапы развития этого протокола отмечены в табл. 1.4.

Этапы развития протокола TCP/IP Таблица 1.4

Год Событие
1970 Введен в использование протокол NCP (Network Control Protocol) для узлов сети Arpanet
1972 Вышла первая спецификация Telnet (см. RFC 318)
1973 Введен протокол FTP (RFC 454)
1974 Программа TCP (Transmission Control Program)
1981 Опубликован стандарт протокола IP (RFC 791)
1982 Объединение протоколов TCP и IP в одно целое - TCP/IP
1983 Сеть Arpanet переведена на протокол TCP (ранее использовался протокол NCP)
1984 Введена доменная система имен DNS

Как вы видите, все стандарты Интернет-протоколов опубликованы в документах RFC. Документы RFC (Request For Comments) - это запрос комментариев. В этих документах описывается устройство сети Интернет.

Документы RFC создаются сообществом Интернет (Internet Society, ISOC). Любой член ISOC может опубликовать свой стандарт в документе RFC. Документы RFC делятся на пять типов:


Все необходимые документы RFC вы найдете на прилагаемом компакт-диске.

Протоколы семейства TCP/IP можно представить в виде модели, состоящей из четырех уровней: прикладного, основного, межсетевого и сетевого (см. рис. 1.11).

Уровень 1 Прикладной уровень (уровень приложения, Application Layer)
Уровень 2 Основной (транспортный) уровень (Transport Layer)
Уровень 3 Межсетевой уровень (уровень Internet, Internet Layer)
Уровень 4 Уровень сетевых интерфейсов (Network Interface Layer)

Рис. 1.11. Уровни стека протоколов TCP/IP

Каждый из этих уровней выполняет определенную задачу для организации надежной и производительной работы сети.

Уровень сетевого интерфейса

Данный уровень лежит в основании всей модели протоколов семейства TCP/IP. Уровень сетевого интерфейса отвечает за отправку в сеть и прием из сети кадров, которые содержат информацию. Кадры передаются по сети как одно целое. Кадр (frame) - это единица данных, которыми обмениваются компьютеры в сети Ethernet. Для обозначения блоков данных определенных уровней используют термины кадр (frame), пакет (packet), дейтаграмма (datagram), сегмент (segment). Все эти термины обозначают транспортируемые отдельно блоки данных и их можно считать синонимами. Название блока пересылаемых данных изменяется в зависимости от уровня (см. рис. 1.12).

Рис. 1.12. Пересылка блока данных в стеке протоколов TCP/IP


Межсетевой уровень

Протоколы Интернет инкапсулируют блоки данных в пакеты (дейтаграммы) и обеспечивают необходимую маршрутизацию. К основным Интернет-протоколам относятся:

IP (Internet Protocol) предназначен для отправки и маршрутизации пакетов.
ARP (Address Resolution Protocol) используется для получения МАС-адресов (аппаратных адресов) сетевых адаптеров.
ICMP (Internet Control Message Protocol) предназначен для отправки извещений и сообщений об ошибках при передаче пакетов.
IGMP (Internet Group Management Protocol) используется узлами для сообщения маршрутизаторам, которые поддерживают групповую передачу, о своем участии в группах.
RIP (Route Internet Protocol) и OSPF (Open Shortest Path First) протоколы маршрутизации.

На этом уровне реализуется передача пакетов без установки соединения - дейтаграммным способом. Межсетевой уровень обеспечивает перемещение пакетов по сети с использованием наиболее рационального маршрута (протокол OSPF). Основная функция межсетевого уровня - передача пакетов через составную сеть, поэтому этот уровень также называется уровнем Интернет.

Транспортный (основной) уровень

Данный уровень обеспечивает сеансы связи между компьютерами. Существует два транспортных протокола: TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Протокол TCP ориентирован на установление соединения, то есть перед передачей данных компьютеры «договариваются» между собой. Обычно по этому протоколу передаются большие объемы данных или данные, для которых требуется подтверждение их приема. Этот протокол используется большинством сетевых приложений, так как обеспечивает достаточную надежность при передаче данных.

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

Уровень приложений

Данный уровень является вершиной модели TCP/IP. На этом уровне работают практически все распространенные утилиты и службы: DNS, Telnet, WWW, Gopher, WAIS, SNMP, FTP, TFTP, SMTP, POP, IMAP.

В качестве завершения данного пункта рассмотрим соответствие уровней стека протокола TCP/IP семиуровневой модели OSI (см. табл. 1.5).

Соответствие уровней стека TCP/IP модели OSI Таблица 1.5

Уровень модели OSI Протокол Уровень стека TCP/IP
7, 6 WWW (HTTP), FTP, TFTP, SMTP, POP, telnet, WAIS, SNMP 1
5, 4 TCP, UDP 2
3 IP, ICMP, RIP, OSPF, ARP 3
2, 1 Ethernet, PPP, SLIP 4

В следующем пункте рассмотрено такое важное понятие протокола TCP/IP как порт. В том же пункте будут рассмотрены структуры пакетов IP и TCP, поскольку рассмотрение этого материала без введения определения порта не имеет смысла.

1.7.6. Порты и демоны

Дальнейшее изложение материала построено, исходя из того, что вы уже знаете, что такое сервер и какие службы вам придется настраивать. В пункте Как устроена книга (п. 1.5) было подробно описано, в каких главах описана настройка той или иной службы. Здесь же давайте рассмотрим некоторые базовые понятия, каковыми являются понятие «демон» и «порт».

Как уже было отмечено, в заголовке каждого пакета указывается IP-адрес отправителя и IP-адрес получателя, а также номер порта. С IP-адресом отправителя и получателя все понятно, осталось сказать, что же такое порт. Дело в том, что сразу несколько приложений на одном компьютере могут осуществлять обмен данными через сеть. При этом, если в качестве адресата указывать только IP-адрес получателя, то приложения, выполняемые на нем, не смогут разобраться кому из них предназначены присланные данные. Чтобы решить эту проблему используется механизм портов. Номер порта - это просто номер программы, которая будет обрабатывать переданные данные. Каждой сетевой программе, которая работает по протоколу TCP/IP, сопоставлен свой номер порта. Например, 80 - это порт WWW-сервера (обычно это Apache), a 53 - это порт системы доменных имен.

Термин демон происходит от английского слова demon (или daemon) и означает программу, которая выполняется в фоновом режиме и дополняет операционную систему каким-нибудь сервисом. Как правило, пользователь не замечает работу демона: он даже и не подозревает, что данная программа запущена. Программа-демон чем-то напоминает резидентные программы в операционной системе DOS. Как видите, нет ничего общего с ужасными существами потустороннего мира. Обычно демон ожидает определенного события, после которого он активизируется и выполняет свою работу. Сетевые демоны ожидают получения пакета с определенным номером порта и, получив его, обрабатывают содержащиеся в нем данные. В книге мы еще неоднократно поговорим об этих «существах», поэтому сейчас не будем подробно останавливаться на них.

1.7.7. Структура пакетов IP и TCP

Вот теперь можно смело перейти к рассмотрению структуры пакетов IP и TCP. Протокол IP не ориентирован на соединение, поэтому не обеспечивает надежную доставку данных. Поля, описание которых приведено в табл. 1.6, представляют собой IP-заголовки и добавляются к пакету при его получении с транспортного уровня.

Структура заголовка IP-пакета Таблица 1.6

Поле Описание
Source IP-address (IP-адрес отправителя) Отправитель пакета
Destination IP-address (IP-адрес получателя) Получатель пакета
Protocol (Протокол) TCP или UDP
Checksum (Контрольная сумма)
TTL (Time to Live, время жизни пакета) Определяет, сколько секунд дейтаграмма может находиться в сети. Предотвращает бесконечное блуждание пакетов в сети. Значение TTL автоматически уменьшается на одну или более секунд при проходе через каждый маршрутизатор сети
Version Версия протокола IP - 4 или 6. Шестая версия протокола IP рассматривается в гл. 8 (4 бита)
Header Length (Длина заголовка) Минимальный размер заголовка - 20 байт (4 бита)
Type of Service (Тип обслуживания) Обозначение требуемого для этого пакета качества обслуживания при доставке через маршрутизаторы IP-сети. Здесь определяются приоритет, задержки, пропускная способность. (8 бит)
Total Length (Общая длина) Длина дейтаграммы IP-протокола (16 бит)
Identification (Идентификация) Идентификатор пакета. Если пакет фрагментирован (разбит на части), то все фрагменты имеют одинаковый идентификатор (16 бит)
Fragmentation Flags (Фрагментационные флаги) 3 бита для флагов фрагментации и 2 бита для текущего использования
Fragmentation Offset (Смещение фрагмента) Указывает на положение фрагментов относительно начала поля данных IP-пакета. Если фрагментации нет, смещение равно 0x0 (13 бит)
Options and Padding (Опции и заполнение) Опции

Протокол TCP, в отличие от протокола IP, ориентирован на установление соединения и обеспечивает надежную доставку данных. Структура TCP-пакета описана в табл. 1.7.

Структура TCP-пакета Таблица 1.7

Поле Описание
Source port (Порт отправителя) Порт TCP узла-отправителя
Destination Port (Порт получателя) Порт TCP узла-получателя
Sequence Number (Порядковый номер) Номер последовательности пакетов
Acknowledgement Number (Номер подтверждения) Порядковый номер байта, который локальный узел рассчитывает получить следующим
Data Length (Длина данных) Длина TCP– пакета
Reserved (Зарезервировано) Зарезервировано для будущего использования
Flags (Флаги) Описание содержимого сегмента
Window (Окно) Показывает доступное место в окне протокола TCP
Checksum (Контрольная сумма) Значение для проверки целостности пакета
Urgent Pointer (Указатель срочности) При отправке срочных данных (поле Flags) в этом поле задается граница области срочных данных

Поздравляю с успешным окончанием курса молодого бойца (администратора)! Осталось только сказать несколько слов об общей настройке сервера. Настройку сервера «с нуля» следует проводить именно в такой последовательности, которая описана в книге. После установки системы следует разобраться с правами пользователей, определить, кто и к чему будет иметь доступ. Именно с этого и начинается локальная безопасность сервера. Нет смысла настраивать все службы с соблюдением всех требований безопасности, если пользователь pupkin имеет доступ ко всему и его пароль 123! (или же установлены права доступа к корневой файловой системе, позволяющие всем модифицировать ее).

Я рекомендую использовать RAID-массивы, если это, конечно, позволяют ваши финансы. Использование массивов RAID значительно повысит надежность вашего сервера. К тому же, при использовании аппаратных массивов, настройка которых не рассматривается в этой книге, можно существенно повысить производительность сервера, особенно при использовании SCSI-дисков. Хотя в последнее время производительность некоторых моделей АТА-дисков (АТА133) практически не уступает производительности дисков с интерфейсом SCSI, а по цене АТА-диски дешевле, чем SCSI.

После того, как вы наведете порядок на локальном уровне, можно приступать к настройке сети. Сначала следует сконфигурировать сервер как обыкновенную рабочую станцию и проверить корректность работы компьютера в сети. Всему этому посвящена гл. 7.

В гл. 8 описана настройка сервера. Вне зависимости от того, какой сервер вы настраиваете - почтовик или сервер баз данных, вам нужно сначала настроить суперсервер - xinetd или же inetd.

В восьмой главе объясняется, что такое суперсервер и как его нужно настраивать. Настройка фундаментальных серверных служб описана в той же главе. Однако это не означает, что вам нужно настраивать все, например, вы можете не использовать сетевую файловую систему или протокол DHCP.

Существует простое правило: если вам не нужна какая-нибудь служба, просто отключите ее, но ни в коем случае не оставляйте ее ненастроенной - это потенциальная «дыра» в вашем сервере.

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

1.9. Обзор дистрибутивов Linux

Сейчас на отечественном рынке можно купить практически любой дистрибутив Linux, а самый новый или какой-нибудь малораспространенный можно заказать через Интернет-магазин, например, www.linuxcenter.ru. Самыми распространенными на сегодняшний день являются дистрибутивы:

1. Red Hat Linux.

2. Linux Mandrake.

3. ALT Junior Linux.

5. Black Cat Linux.

7. Astaro Security Linux.

В книге я подробно рассмотрел дистрибутивы Red Hat Linux и Linux Mandrake, указал отличия между ними. Однако я не буду агитировать вас использовать Mandrake или Red Hat, наоборот, вы можете использовать эту книгу для настройки любого дистрибутива. Если что-то не будет работать, например, в SuSE или Slackware, прочитайте поставляемую с дистрибутивом документацию, там наверняка найдутся ответы на все ваши вопросы. Несмотря на то, что большинство дистрибутивов, приведенных выше, совместимо с Red Hat, у каждого дистрибутива есть определенные отличия, поэтому не верьте надписям на компакт-дисках наподобие «100%-ная совместимость с Red Hat». Каждый дистрибутив имеет свое предназначение, например, ALT Junior больше подходит для домашнего компьютера, чем для сервера.

Итак, начнем наш обзор с дистрибутива Red Hat Linux.Бесспорно, это один из самых популярных и распространенных дистрибутивов. «Красная шапочка» (именно так переводится название дистрибутива) является своеобразным образцом в мире Linux. He зря же, когда сравнивают дистрибутивы, говорят об их совместимости с Red Hat.

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

После установки вы получаете практически функционирующую систему: все в ней настроено и работает, остается настроить систему «под себя». Конечно, есть небольшие недоработки, но разработчики не могли же предусмотреть всех вариантов?

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

Среди нововведений можно отметить оконную среду Gnome 1.4 и файловый менеджер Nautilus, который существенно облегчает операции по копированию, перемещению и удалению файлов.

Все параметры системы полностью настраиваются. Можно даже выставить уровень сложности интерфейса пользователя: от новичка до эксперта. Также нужно отметить, что исчезла грань между локальными и сетевыми ресурсами.

Настройка устройств осуществляется теперь намного проще благодаря новой утилите конфигурирования системы. Теперь все конфигураторы системы собраны в одной оболочке, которая называется Контрольной панелью. Расширена поддержка устройств, в том числе добавлена поддержка устройств USB и Firewire.

Особое внимание уделено безопасностисистемы: firewall теперь настраивается в процессе установки системы, а графическая утилита конфигурирования значительно упрощает процесс создания цепочек.

Следующий на очереди - дистрибутив Linux Mandrake. LINUX Mandrake - это мощная операционная система для платформ Intel Pentium, AMD Athlon и PowerPC. Эта операционная система прекрасно сочетает в себе мощь Linux и простой интерфейс пользователя. ОС Mandrake как нельзя лучше подходит для начинающего пользователя, при этом ее можно устанавливать на компьютеры практически любого типа - от домашнего ПК до сервера сети, чего нельзя сказать о других дистрибутивах, которые имеют более четкое применение.

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

Как я уже говорил, операционная система Linux Mandrake подойдет и для сервера, и для рабочей станции. Разработчики позаботились о системных администраторах, снабдив систему большим числом конфигураторов, с помощью которых можно настроить все сервисы сервера. Не забыли они и о пользователях: в состав дистрибутива входят распространенные оконные среды, офисные пакеты, графические редакторы, браузеры, MP3-плейеры.

В версии 9.0 произошли такие изменения:

1. Добавлена возможность минимальной установки. Для этого потребуется всего 64 Мб (!) на жестком диске.

2. Улучшены процедуры обнаружения оборудования.

3. Поддерживаются большие объемы ОЗУ (более 1 Гб) и многопроцессорность. Если у вас установлен всего один процессор и объем ОЗУ меньше 1 Гб, в целях повышения производительности системы я рекомендую перекомпилировать ядро системы, отключив поддержку этих функций.

4. Поддерживаются журналируемые файловые системы ЕХТЗ, ReiserFS, XFS и JFS.

5. Добавлена поддержка таких устройств: Firewire, USB, USB2, 1830 DRM, ATA133, GeForce3.

6. Переработан Центр Управления (Control Center).

Система основана на ядре версии 2.4.19. В состав дистрибутива входят такие приложения:-

1. Среда KDE 3.0.3 с интегрированным офисным пакетом К Office.

2. Среда GNOME 2.0.1 плюс Evolution 1.0.8 , WindowMaker 0.8, IceWM 1.2, Enlightenment 0.16.5, BlackBox 0.62

3. Офисные пакеты StarOffice 6.0 и KOffice 1.2. Оба пакета поддерживают формат MS Office.

4. Браузеры Mozilla 1.1, Konqueror 3.02 и Galeon 1.2.5.

5. Графический пакет GIMP 1.2.3.

6. Компиляторы GCC 3.2, библиотеки Glibc 2.2.5.

7. Сервер Apache 1.3.26.

8. Интерпретатор PHP 4.2.3.

9. Серверы баз данных MySQL 3.23.52 и PostgreSQL 7.2.2

10. Агенты МТА Sendmail и Postfix.

ALT Junior Linux - однодисковый дистрибутив для домашних и начинающих пользователей. Этот дистрибутив можно использовать как дистрибутив для рабочей станции, но не как серверный дистрибутив. В его состав входит все необходимое программное обеспечение для домашнего компьютера, в том числе есть несколько довольно неплохих игрушек.

Дистрибутив ALT Junior 1.0 основывается на ядре 2.4.5, поддерживает большинство современных чипсетов, графические 3D-ускорители Matrox G-серии, ATI Rage & ATI Radeon, Intel 810/815, 3DFX Voodoo 3/4/5. Добавлена поддержка всех видеоплат nVidia.

ASPLinux 7.2 - это еще один универсальный дистрибутив, который подойдет как для сервера, так и для рабочей станции. Отдельно хочу отметить уникальную программу установки. Помимо своей простоты, она обладает некоторыми функциями, которых мне не хватало в других дистрибутивах:

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

2. Появилась возможность создавать корневую файловую систему на устройстве RAID.

3. Добавлена поддержка новых контроллеров RAID.

ОС ASPLinux 7.2, в отличие от других дистрибутивов, поддерживает все процессоры семейства i386: от i80386DX до Pentium IV.

Единственным неудобством является отсутствие драйвера для 3D-ускорителей nVidia (у меня Riva TNT2), но его можно свободно загрузить с сайта www.nvidia.com

Особого внимания заслуживает поддержка русского и украинского языков.

Для вас, как системного администратора, повышенный интерес должен представлять пакет pptpd, который позволяет организовывать сети VPN для клиентов Windows, а также пакет portslave, который в сочетании с улучшенной версией pppd позволяет организовать сервер удаленного доступа с авторизацией через сервер RADIUS и использованием функции «обратный звонок» (callback).

Заслуживает также внимания полностью переработанная документация: она находится на специальном компакт-диске с документацией (Documentation CD).

В завершении этого небольшого обзора отмечу довольно нестандартный дистрибутив Astaro Security Linux. С помощью этого дистрибутива вы можете превратить обыкновенный офисный компьютер в настоящий бастион. Все, что для этого нужно – просто загрузиться с инсталляционного диска, ввести необходимые параметры сети и больше не подходить к этому компьютеру: можно сразу отключить монитор, потому что все администрирование сервера производится по протоколу https через браузер. К сожалению в этом дистрибутиве не поддерживаются SCSI (впрочем, SCSI-диски на шлюзе - это излишество) и шины ISA, что не позволяет использовать старые сетевые платы.

1.10. Глоссарий

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

Аутентификация - проверка подлинности.

Интерфейс - средства и правила взаимодействия компонент системы между собой.

Коллизия - попытка одновременного доступа двух или более машин к среде передачи информации. Самый простой (и немного некорректный) пример коллизий - это параллельный телефон. В вашей жизни наверняка случалось, что кому-то нужно одновременно поговорить по телефону, и вы пытались набрать номер одновременно.

Концентратор (хаб) - устройство, которое просто передает полученные пакеты во все свои порты независимо от адресата. Все устройства, подключенные к концентратору Ethernet (включая другие концентраторы), «видят» весь сетевой трафик, но получить пакет должен только тот узел, которому он адресован. Все остальные узлы должны игнорировать этот пакет.

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

Маршрутизация (routing) - процесс передачи пакетов данных между двумя подсетями.

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

Порт - физическое или логическое устройство, через которое осуществляется процесс приема-передачи данных.

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

Сервер - специальный компьютер, который предоставляет определенные услуги другим компьютерам.

Сокет (socket) - во многом аналогичен дескриптору файла (file handle). Сокет обеспечивает конечную точку соединения. Приложение, создавая сокет, указывает три параметра: IP-адрес узла, протокол (TCP или UDP) и порт, используемый приложением.

Узел - устройство, подключенное к сети.

Шлюз (Gateway) - межсетевой преобразователь. Выполняет функции, аналогичные мосту, но используется для связи сетей разных типов, например, LAN и WAN. Обычно для устройства, которое связывает две локальные сети, используется термин «маршрутизатор», а для устройства, которое соединяет вашу локальную сеть с Интернет, - шлюз, хотя оба эти устройства выполняют одну и ту же функцию - маршрутизацию пакетов.

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

Как Вы уже поняли, здесь мы с Вами не будем поднимать домен (нам и не нужно ), а просто подключим компьютеры в одну рабочую группу и присвоим им IP адреса.

1) Для начала определитесь, какой компьютер будет выполнять роль сервера (желательно с хорошей мощностью). Установите на него Windows Server 2003/2008, для того чтобы к нему могли подключаться много компьютеров (например, для использования общих документов или для подключения удаленного рабочего стола ). Если нет данной операционной системы, то устанавливайте ту, какая есть.

2) Приобретите необходимое оборудование, и кабель, для того чтобы Вы могли физически соединить компьютеры. К оборудованию можно отнести так называемый хаб (коммутатор), который и будет служить тем самым мостом, по которому будет проходить обмен данными между компьютерами. Подсчитайте, сколько компьютеров Вы будете подключать, и подберите себе тот хаб, который Вам подойдет (16 портовый или может 48 ). Также подсчитайте, сколько необходимо кабеля, для того чтобы соединить компьютеры между собой. Кабель - витай пара, кабель RJ-45, UTP категории 5 и выше, назвав такие понятия в компьютерном магазине, специалисты сразу поймут, о чем идет речь. И, конечно же, не забудьте приобрести коннекторы RJ-45 и обжимной инструмент.

3) Схема подключения проста, все компьютеры должны быть подключены к хабу, для того чтобы они видели друг друга, поэтому проложите кабель от каждого компьютера к хабу и обожмите коннекторы разводкой комп-хаб, т.е. с разных концов кабеля разводка должна быть одинаковой. Если бы мы соединяли комп в комп, то разводка была бы с разных концов разной. Можете использовать следующею разводку (точно работает, постоянно использую ), коннектор лапкой вверх, слева на право.

Пример разводки сетевого кабеля

Синий
Бело-синий
Зеленый
Оранжевый
Бело-оранжевый
Бело-зеленый
Коричневый
Бело-коричневый

4) После того как мы физически соединили все компьютеры нам необходимо настроить операционную систему для этого, во-первых, нам необходимо добавить все компьютеры в одну рабочую группу, например – ITGRUP. Для этого щелкните правой кнопкой по «Мой компьютер », зайдите в свойства, откроется окно «Свойство системы », перейдите на вкладку «Имя компьютера » и нажмите изменить (в примере используется операционная система Windows XP ) .

И, во-вторых, пропишите ip адреса в сетевой карте, для этого откройте «Сетевые подключения » (Панель управления ->Сетевые подключения ), если Вы соединили все правильно, то у Вас там будет сеть с пометкой получение сетевого адреса или что-то типа сеть ограничена ну да неважно. Вам необходимо нажать правой кнопкой по этому подключению и перейти в свойства, где Вам нужно будет выбрать «Протокол Интернета TCP/IP » и нажать свойства.

Далее выбираете использовать следующий ip адрес и пишите ip адрес, я например, написал 192.168.0.1 и соответственно у каждого из компьютеров должен быть свой отличный от других ip адрес, но они должны находиться в одной подсети (подробней об IP адресах можете прочитать в статье «Устройство и основные понятия локальные сети » ), например так: 192.168.0.1 следующий 192.168.0.2 …..192.168.0.35 и так далее.

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

И если Вы в дальнейшем будете использовать DHSP сервер (в операционной системе Windows Server ), то можете оставить получение ip адреса автоматически.

После всех вышеперечисленных действий все Ваши компьютеры будут соединены в локальную сеть, для проверки этого можете зайти сетевое окружения и нажать «Отобразить компьютеры рабочий группы » или лучше про пинговать какой-нибудь другой компьютер т.е. его ip адрес, для этого нажмите «Пуск->Выполнить (пишем команду CMD) » запустится эта утилита и уже в ней пишете команду ping пробел и ip адрес того компьютера, какого Вы хотите проверить доступность, жмете enter, и если Вы все сделали правильно, то у Вас произойдет обмен пакетами как на картинке.


Вот в принципе и все, это те азы какие должен знать начинающий системный администратор.



 


Читайте:



Самостоятельная настройка и подключение TP-Link TL-WR841N Tp link wr841n расширенные настройки маршрутизатора

Самостоятельная настройка и подключение TP-Link TL-WR841N Tp link wr841n расширенные настройки маршрутизатора

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

Addurl яндекса. Что такое аддурилка

Addurl яндекса.  Что такое аддурилка

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

Партнерская программа uCoz - FAQ

Партнерская программа uCoz - FAQ

Данный пример будет показан именно с нашего сайта Quaer, где пользователь может писать полезные статьи и получать за это деньги. Скрипт можно и...

Может ли ударить током на расстоянии

Может ли ударить током на расстоянии

Электротравмы составляют 2 - 2,5 % среди всех травматических повреждений, однако большой процент смертности и инвалидности при поражении...

feed-image RSS