Проект локальной сети

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

[Сергей Полецкий (support AT psj.net.ru)]

Проект локальной сети

Что здесь будет.

  1. О чём это я
  2. Постановка задачи
  3. Принципиальное решение
  4. Краткое описание работы локальной сети, или как это всё будет работать

О чём это я?

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

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

И САМОЕ ГЛАВНОЕ. Финансовое положение предприятия в данный момент настолько крепкое и понимание руководством опасности прихода нехороших дядей настолько высокое, что администратор получает карт-бланш на переоборудование локальной сети. При этом руководство согласно на покупку соответствующего недостающего оборудования, при условии, естественно, что будет доказана необходимость данного шага.

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

Постановка задачи

Пользователь никогда не знает что он хочет,
пока не увидит, что получит
Мэрфи

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

Что у нас есть и чего мы хотим (краткий пересказ беседы с руководством предприятия):

Группа сотрудников работает на одном (или двух, планируется расширение) этажах здания. Основная работа у всех сотрудников - тексты в MS Word и таблицы в MS Excel (составление отчетов о проделанной работе), не очень частое, пока, общение с клиентами посредством электронной почты. Небольшая группа сотрудников работает с 1С бухгалтерией, еще одной небольшой группе сотрудников нужна правовая система Консультант-плюс и ещё одна (основная и достаточно большая) группа сотрудников использует две узкоспециализированные расчетные подсистемы, которые, к сожалению, есть только под MS Windows. Какие подсистемы - не важно. Они самописные, переписывать их никто не будет. Во всяком случае в ближайшее время. К счастью, результат своей работы они выдают в обычные текстовые файлы, формат которых естественно известен. Это было сделано для того, что бы результаты работы можно было закачивать в Excel в виде таблиц для дальнейшей обработки. Все сотрудники, кто-то больше, кто-то меньше, используют Интернет. Т.е. всем им необходимо искать и просматривать в Интернете какую-то информацию. Для этого на одном из компьютеров установлен модем и работа с Интернет возможна только с одного компьютера. Опять-таки, к счастью, Интернетом пользуются не очень активно. Основная работа все-таки локальная.

Ну вот коротенько, чем занимаемся. Теперь более конкретно, что у нас есть:

  • 46 сотрудников, но будет расширение приблизительно до 100 сотрудников
  • 12 кабинетов, но возможно будет еще один этаж и от 20 до 30 кабинетов
  • Программное обеспечение (которое используется)
    1. Бухгалтерия 1С ( базы в dbf-формате)
    2. Правовая система Консультант плюс (сетевая версия)
    3. MS Word
    4. MS Excel
    5. TheBat! (почтовая программа)
    6. Антивирус - Norton Antivirus
    7. Первая специализированная расчётная система
    8. Вторая специализированная расчётная система
    9. Интернет браузеры - Opera, FireFox, IE
    10. Запись CD-дисков - Nero
    11. Мультимедиа - MS Windows Media, WinAmp
  • Принтеры
    • HP 1100
    • HP 4200
    • Ricoh 1081
  • Сканеры
    • HP Scan Jet 4500c
    • Canon CanoScan LiDE 20
  • Рабочие станции (железо)
    • CPU от PIII-733 до PIV-3.0
    • RAM от 128 Мб до 512 Мб
    • HDD от 20 Гб до 80 Гб
    • Ethernet - Dlink DFE-550
    • Видеокарты интегрированные с RAM от 32 Мб
  • Серверы (железо и что, на каком стоит)
    1. MS Windows Server 2003 - сетевая 1С Бухгалтерия и архивы 2-го сервера
      1. MS Windows Server 2003 - лицензионный
      2. MS Terminal Server 2003 - 50 лицензий
      3. 1С Бухгалтерия - лицензионная
      • CPU - 2 x Xenon 3,0 ГГц
      • RAM - 2 Гб
      • HDD - 4 x SCSI 36 Гб
      • Аппаратный SCSI RAID 0, 1, 10
    2. MS Windows Server 2003 - файловый сервер + Консультант плюс и архивы 1С бухгалтерии
      1. Консультант плюс - лицензионный
      • CPU - Xenon 3,0 ГГц
      • RAM - 1 Гб
      • HDD - 4 x SCSI 36 Гб
      • Аппаратный SCSI RAID 0, 1, 10
  • Модем Robotics. Доступ в Интернет был только с одной рабочей станции.
  • Активное сетевое оборудование
    • Коммутатор Dlink 8 ports
    • Коммутатор Dlink 48 ports

Ну вот вроде нам и рассказали что есть. Попытаемся обобщить программное обеспечение в плане лицензионности. Из лицензионных программных продуктов есть:

  1. MS Windows Server 2003 - 5 лицензий
  2. MS Terminal Server 2003 - 50 лицензий
  3. 1С Бухгалтерия
  4. Консультант-плюс
  5. Две специализированные расчетные системы (т.к. достаточно давно писали их сами)

И НИ ОДНОЙ РАБОЧЕЙ СТАНЦИИ! Так же как и ни одного MS Office. Т.е. есть конечно два CD диска с MS Windows Me, купленные в свое время вместе с компьютерами, но в расчет брать их не будем, т.к в данный момент на рабочих станциях стоит только MS Windows XP Proffesional SP2 Rus и менять его на двух станциях на MS Windows Me никто не собирается. Просто нет смысла.

Локальная сеть простейшая и, поскольку создавалась достаточно стихийно, представляет собой следующее:

Старая локальная сеть

Задача поставленная руководством предприятия

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

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

Принципиальное решение.

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

Итак, начнем с принципиального. Со структуры локальной сети.

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

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

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

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

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

Новая сеть

Активное сетевое оборудование

Активное сетевое оборудование. Когда на этапе проектирования слышишь такое выражение, то сразу возникают ассоциации с чем-то типа - Cisco, Catalist, 3COM. НО, поскольку уже есть какие-то коммутаторы, причем не разношерстные, т.е. предпочтение отдано определенному продукту, а конкретно Dlink, то думать и мечтать много не будем, а просто докупим еще один 48-ми портовый коммутатор, причем точно такой же как и существующий, т.к. существующий коммутатор достаточно интеллектуален и позволяет соединять себе подобных в стек.

Итак получаем, что демилитаризованная зона включается в 8-ми портовый коммутатор, а два 48-ми портовых объединяем в стек и в них включаем всю локальную сеть. Один Ethernet роутера включаем в 8-ми портовый коммутатор, а второй Ethernet в 48-ми портовый коммутатор. Таким образом локальная сеть будет разделена с демилитаризованной зоной на физическом уровне.

Операционная система.

Ну вот, вроде как со структурой локальной сети в первом приближении разобрались, теперь будем делить программное обеспечение. По задаче необходимо использовать все существующее лицензионное программное обеспечение. Т.е. на имеющийся лицензионный Windows Server 2003 с Windows Terminal Server-ом мы устанавливаем 1С бухгалтерию и Консультант-плюс. Остались только две самописные задачи, но о них несколько позже, а установить их надо в обязательном порядке.

С оставшимися серверами и рабочими станциями есть два выхода:

  1. Покупаем недостающие MS Windows Server, MS Windows XP Pro и MS Office
  2. Устанавливаем свободно распространяемое программное обеспечение

Вдаваться в подробности расчета и переговоров с руководством не буду, можете сами посчитать стоимость пятидесяти комплектов MS Windows XP и MS Office, которые нужны на первое время, плюс стоимость MS Windows Server-ов, как минимум два, но было принято решение использовать свободно распространяемое программное обеспечение.

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

  • Linux
  • FreeBSD

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

Обе ОС могут выполнять роль как серверов так и рабочих станций, хотя некоторые дистрибутивы Linux и "заточены" больше под рабочую станцию, обе ОС работают одинаково стабильно, НО, руководствуясь принципом - "Самый короткий путь - тот который знаешь", был выбран, все-таки, FreeBSD. Хотя, все что я пишу в этой статье, в принципе и однозначно относится и к Linux.

Почему именно FreeBSD? Очень просто. Скопировав, распространяющийся под BSD лицензией, FreeBSD с официального ftp сервера, его можно использовать абсолютно легально. Не бесплатно, как заблуждаются многие, а легально. Т.е. Вам всё равно придется платить деньги за Интернет, людям которые разрабатывают проект сети, людям которые настраивают сервера и рабочие станции. НО Вы не покупаете программное обеспечение для серверов и рабочих станций. Вы оплачиваете работу по установке и настройке программного обеспечения. Хотя, в принципе, если у Вас нет Интернета, то Вы можете купить диск с FreeBSD и использовать его, но опять-таки Вы покупаете диск с записанным на нем программным обеспечением, а не само программное обеспечение. Кстати, всё сказанное относится и Linux, который распространяется под GPL лицензией. Но, так уж случилось, что FreeBSD я знаю несколько лучше чем Linux, и, может быть поэтому, мне его проще и понятней конфигурировать. Да и под боком есть люди, с которыми всегда можно поговорить по поводу настройки FreeBSD.

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

Сервера

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

  1. Роутер+файрвол+NAT
  2. Почта+WWW+FTP+Proxy+кэширующий DNS сервер в демилитаризованной зоне
  3. Windows Server 2003+Windows terminal Server+... в локальной сети
  4. локальный DNS+DHCP+Сервер авторизации+Файловый сервер в локальной сети

Теперь более расширено. Оба существующих сервера оставляем в локальной сети.

Весь лицензионный MS Windows и остальное лицензионное программное обеспечение оставляем на одном сервере (в смысле железа), с двумя процессорами, т.к. там будет работать терминальный сервер. Единственно чего не хватает - антивирусной программы. Придется покупать. Руководствуясь прежним принципом, покупать будем Norton Antivirus. Тем более, что с ним уже есть опыт работы.

На втором сервере локальной сети в качестве операционной системы будет FreeBSD. На нем будем устанавливать локальный DNS-сервер, DHCP-сервер, в качестве сервера авторизации будет использоваться OpenLDAP-сервер, и сервер сетевой файловой системы NFS. Ну вот вроде и все. Стоп! Не всё. Все неразрешенные имена локальный DNS-сервер будет брать с кэширующего DNS-сервера из демилитаризованной зоны.

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

Для сервера, в демилитаризованной зоне, покупаем еще одну рабочую станцию с быстрым жестким диском и 1 Гб памяти. Объема жесткого диска 80 Гб должно хватить, поскольку, даже в будущем, всего 100 пользователей и объем почты не предвидится очень большим, а на FTP очень много хранить никто никогда не собирается. Процессор любой современный, а т.к. процессоров ниже PIV и частотой ниже 2 Ггц найти практически невозможно, то этого более чем достаточно. Операционная система, также, FreeBSD.

Для удаленного управления серерами под FreeBSD на этих серверах устанавливается SSH-сервер. На всех серверах будет установлен файрвол, в т.ч. и на MS Windows Server-е. Все файрвол-ы будут выполнять разные функции. Управлять сервером на MS Windows Server 2003 будем через MS Terminal Server.

Рабочие станции.

Итак, с моей точки зрения, начинается самое интересное. Рабочая станция на базе операционной системы FreeBSD. Поскольку это рабочая станция, то обязательно будет X-сервер и менеджер рабочего стола. Менеджеров рабочего стола достаточно много, но лично мне больше нравится KDE, хотя у GNOME есть свои вкусности. Теперь более плотно о программном обеспечении, и если у серверов специально не писал название программ, то в этой части буду называть, что будет устанавливаться на рабочую станцию.

Офис. Будет установлен стандартный последний KOffice и OpenOffice 2.Х, т.к. существует масса наработок в MS Office, слава богу файлы простые (просто текст или таблицы безо всяких программ на бейсике), а OpenOffice конвертирует файлы Word и Excel более корректно. Да и похож он на MS Office к которому все привыкли.

Интернет. Почта - стандартный Kmail, его хватит за глаза однозначно. На вирусы почта будет проверяться на почтовом сервере, также на почтовом сервере будет отсекаться СПАМ. В качестве браузера везде будет стоять стандартный Konqueror и далее по желанию, либо Opera, либо FireFox, либо и то, и то. В качестве клиента ICQ будет использоваться Licq. В будущем для общения внутри предприятия будет установлен сервер Jabber, чтобы можно было рассылать всякие оповещения, без выхода в Интернет. Да и общение будет происходить в основном между сотрудниками.

Графика. К сожалению сканер HP Scan Jet 4500c во FreeBSD не поддерживается и запустить его так и не удалось. Зато очень хорошо работает Canon CanoScan LiDE 20. Т.ч. пока будем пользоваться одним, а дальше будет видно. Возможно поставим его на MS Windows Server и будем использовать там, когда будет ну очень невмоготу. Но поскольку сканированием документов занимаются не часто, то должно хватить.

Работа с пишущим IDE CD-ROM-ом во FreeBSD есть на уровне ядра, необходимо только несколько скриптов под себя написать. Отдельно создание образа CD из соответствующей дирректории и отдельно запись образа на CD-ROM. Единственно, что не пробовал, это использование CD-RW в качестве дискеты. Но пока такая задача и не ставилась.

Мультимедиа. Для работы предприятия это не актуально, но желательно. Поэтому будем ставить по мере необходимости. Первое что приходит в голову музыка - xmms, точная копия WinAmp-a. Ну а фильмы на работе смотреть просто некогда.

В качестве файлового менеджера будем использовать стандартный MC (Midnight Commander). Его же будем использовать и в качестве ftp-клиента. Но это кому очень надо, а основная масса народа ftp-серверами просто не пользуется.

Ну и самое главное. Доступ к Windows программам на Windows Server 2003, 1С бухгалтерия и Консультант-плюс, с рабочих станций FreeBSD будет осуществляться посредством терминальных сессий при помощи программы RDesktop. Обе самописные программы будут установлены на рабочих стнациях при помощи эмулятора Wine. По идее они статически скомпонованы и ни какие dll-и им не нужны. Ну, а в крайнем случае, есть возможность запускать их в терминальном режиме. Придется конечно повыворачиваться, поскольку программа будет использовать одни и теже входные и выходные файлы, но на то она и голова дана, чтобы думать и решать возникшие проблемы.

Вроде как с рабочими станциями тоже закончили. Т.е. поставленная задача будет выполнена. 1С бухгалтерия, Консультант-плюс и самописные задачи будут запускаться и работать. Немного не так, как было, но это, в большей степени, относится к Консультанту, т.к. 1С бухгалтерия и работала в терминальном режиме. Ну, а расчетные задачи, по идее, должны работать на каждой рабочей станции и от того как работали отличаться не будет ни чем. Все остальное тоже более менее привычно, кроме, может быть, записи на CD-ROM. Но тоже ничего сложного.

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

Краткое описание работы локальной сети, или как это всё будет работать

Для администратора выделяется отдельное помещение куда сносятся все сервера и коммутаторы. Ну и поскольку все коммутаторы в одной комнате, то в кабель-каналах, в эту-же комнату, приходят все сетевые кабели от разеток RJ-45, которые устанавливаются в каждой комнате в необходимом количестве. Плюс к этому, но это уже попутно, по этим же кабель-каналам проходят кабели от разеток RJ-12, для телефонной сети. Местная АТС также устанавливается в комнате администратора. Все кабели, приходящие от разеток, расшиваются на кросс-панелях. Желательно, конечно, для кроссов, серверов и коммутаторов купить шкаф, но это уже как карты выпадут. В принципе - он конечно нужен, но можно обойтись и без него. Т.ч. если удастся доказать руководству необходимость шкафа - то купим обязательно.

48-ми портовые коммутаторы собираем в стек и включаем в них все станции и сервера локальной сети.

Сервер демилитаризованной зоны включается в 8-ми портовый коммутатор.

На роутере один ethernet включается в 8-ми портовый коммутатор, а второй в 48-ми портовый. Таким образом локальная сеть будет разделена с демилитаризованной зоной физически. В роутер, также включается и ADSL-модем для организации выделенного канала.

Аутентификация пользователей происходит на сервере аутентификации. Для упрощения работы с LDAP-сервером будем использовать LDAP Administrator.

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

Вся почта сотрудников принимается почтовым сервером в демилитаризованной зоне. Сервер из вне невиден, просто fetchmail читает определённые ящики из вне и раздаёт почту внутри. Также он отправляет почту в мир. Читать почту в локальной сети из Интернета, также как и отправлять напрямую в Интернет, запрещено файрволом.

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

С хождением по просторам Интернет несколько проще. Делаем прозрачное проксирование всех www запросов и запрещаем прямой выход в Интернет из локальной сети. Т.е. выйти в Интернет можно только с прокси-сервера.

В качестве антивируса на всех компьютерах с FreeBSD будет установлен антивирус ClamV. Необходимость установки антивируса обуславливается тем, что с ftp-серверов могут притащить всё, что угодно. И хоть таких людей, которые могут что-то скачать с ftp, единицы, но потенциальная возможность есть.

Ну вот вроде как и все. В первом приближении.

Всё существующее железо мы задействовали. Все лицензионные программные продукты тоже задействовали. Докупать вроде как немного надо. Самым большим и дорогостоящим оказалось модернизация кабельного хозяйства. Но поскольку к этому уже пришли, то особых вопросов этот пункт не вызвал. Единственный неприяный момент - сканер HP scanjet 4500c, который так и не заработал под FreeBSD. ну а самое главное, все сотрудники остались работать в достаточно привычном программном обеспечении.

Все вопросы и отзывы в письменном виде.

С уважением
Сергей Полецкий

[ опубликовано 27/12/2005 ]

Сергей Полецкий (support AT psj.net.ru) - Проект локальной сети   Версия для печати