Создаем офисную сеть

Алексей Кошелев

Нужен ли UNIX и если да, то какой?

Модель

Построение

Проводной выход в мир

   Шлюз

   Клиентские машины

DSL

PPP

Вместо заключения

 

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

Нужен ли UNIX и если да, то какой?

UNIX нужен в основном для обеспечения работы сетевых машин, выполняющих непосредственную обработку сетевой информации. Он был для этого создан, и его надежность в этой работе проверена временем. На вопрос, можно ли использовать, скажем, Windows 2000, ответим: можно, но, несмотря на многократные заявления Microsoft, ее системы до сих пор не могут характеризоваться как надежные в сетевой работе. Это удобные офисные системы, системы для работы с базами данных, системы для работы с интранет, но не для Интернета. Количество «дыр» в защите превосходит все мыслимые пределы (это легко проверить, зайдя на сайт http://rootshell.com/). Также для хорошей сетевой машины неприемлемо и то количество перезагрузок, которое требует Windows-машина. В UNIX перезагрузка нужна только в случае, если вы обновили ядро операционной системы. Все дальнейшее обсуждение плюсов и минусов UNIX и Windows я продолжу в отдельной статье. Сейчас постулируем факт, проверенный жизнью: если вы строите хоть сколько-нибудь серьезную, что не означает — большую сеть, то вам не обойтись без UNIX-машин.

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

В начало В начало

Модель

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

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

Где и когда возникает минимальная сеть? Например, в небольшом офисе, когда возиться с почтой, WWW, ftp, DNS и прочими интересными вещами самостоятельно просто не хочется, да это и не разумно, то есть не выгодно. Также она возникает и как часть большой корпоративной сети. То же самое происходит, если вы организуете сеть из нескольких компьютеров в квартире или создаете домашнюю сеть с подключением к внешнему провайдеру. Просто она называется офисной, хотя никакого глубокого смысла в слове «офис» тут нет. Как я уже сказал, будем считать, что в качестве UNIX-систем используются персоналки под управлением Linux. Основные и очень весомые причины этого — широкая распространенность персоналок, плюс их достаточная мощность для выполнения сетевой работы и существование бесплатной операционной системы Linux (которая, в сущности, есть UNIX) с ее проверенной работоспособностью в решении самых разных задач. Также немаловажна и стандартизованность UNIX. Очень многое из того, что будет сказано в этой статье, может быть почти без изменений перенесено на любые UNIX-системы.

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

Man.

В начало В начало

Построение

Итак, начали. Допустим, у вас имеется несколько компьютеров под управлением каких угодно систем (скорее всего — Windows, так как это офисная сеть). В этих компьютерах должна быть по крайней мере сетевая карточка для постоянного выхода в сеть. Самое удобное — это витая пара. Коаксиальный кабель тоже применим, и его даже меньше потребуется, но пропускная способность будет меньше. Так что если вы заботитесь о перспективе, то витая пара прогрессивнее. Правда, витой парой нельзя объединять компьютеры последовательно, но можно соединить две точки. Поэтому вам потребуется хаб, то есть устройство, которое выполняет роль «тройника» в компьютерной сети. Ниже приведены две схемы: для коаксиала (рис. 2) и для витой пары (рис. 3).

Разница в длине проводов кажется очевидной, а вот в пропускной способности — нет. Но это не существенно, если вы уверены, что скорости в несколько мегабит вам хватит надолго. Также из рисунков видно, что из компьютера по имени «шлюз» выходят две линии. Это означает, что в нем должно быть минимум две сетевые карточки: Интернет и интранет.

Теперь расскажем немного о компьютере «шлюз» — это и есть тот самый UNIX-компьютер, который непременно должен быть в сети. В зависимости от сложности сети, ваших запросов, умения и желания даже один такой компьютер может совместить в себе и шлюз (gateway), и сервер, и firewall... Однако если провайдер, к которому вы подключаете свой офис, предоставляет услуги почты, размещения WWW-страниц и прочих важных вещей, то содержание их в родной сети под собственным контролем будет оправданно только в ситуации, если у вас достаточно людей, чтобы за этим следить (то есть на самом деле большая сеть), или если необходим полный контроль над информацией (к примеру, вы не имеете права хранить даже почту компании на сторонних компьютерах). Такая сеть уже включает следующий этап из нашей первой схемы и является гораздо более сложной как в настройке, так и в управлении. Кроме того, предъявляются иные требования к безопасности.

Остановимся на проблеме безопасности чуть подробнее. UNIX, в отличие от Windows, мало подвержен вирусам. Однако есть люди, которые хотят взломать безопасность вашей системы, получить доступ к ресурсам, начать их использовать в своих целях. Это делается в большинстве случаев для самоутверждения и демонстрации своей «крутости» перед собратьями по хакерству. И задача администратора — защитить систему от подобных атак.

Скажем отдельно об DNS: он стоит на обочине нашей схемы не потому, что он не столь уж важен — он исключен из обычных перечней и помещен на особом месте. Этот компьютер отвечает за преобразование цифровых адресов в буквенные и наоборот. От его работы, а точнее говоря, от его скорости очень сильно зависит нормальная работа вашей сети. Я знаю фирму, которая отказалась от услуг провайдера только потому, что у него были медленные DNS. Так или иначе, но при некотором критическом размере сети вам будет удобнее держать свой DNS. Это не так сложно, но значительно упрощает жизнь и ускоряет работу.

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

В начало В начало

Проводной выход в мир

Итак, у вас две карточки в шлюзе и два сетевых интерфейса, кторые будут называться eth0 и eth1. В клиентских машинах будет по одной карточке. Как должен быть настроен (для примера, конечно) TCP/IP-протокол:

В начало В начало

Шлюз

Основной шлюз: у провайдера

DNS: у провайдера

Сетевой интерфейс: eth0

IP: 158.250.4.1

Маска подсети: 255.255.255.0

Сетевой интерфейс: eth1

IP: 158.250.4.2

Маска подсети: 255.255.255.0

В начало В начало

Клиентские машины

Основной шлюз: 158.250.4.1

DNS: у провайдера

Сетевой интерфейс: eth0

IP: 158.250.4.xxx

Маска подсети: 255.255.255.0

Настройка сетевых карточек делается командой:

ifconfig

Далее добавляется маршрутизация посредством команды:

route

Например:

route add default 158.250.3.3 1 (это наш шлюз у провайдера, и туда будем отсылать все то, что не для нашей сети, то есть просто отражать)

route add net 158.250.4.0 158.250.4.1 netmask 255.255.255.0 0

Один файл, без правильной записи в котором ничего не заработает:

/etc/resolv.conf

Его содержание должно быть таким:

search наш домен

наш DNS

При этом серверов имен может быть несколько.

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

/etc/hosts.allow (в нем прописывается, с каких компьютеров и по каким протоколам можно входить в систему)

ALL: 127.0.0.1 (это служебный адрес, указывающий машине на саму себя, технически, loopback (обратная петля))

in.telnetd: 158.250.4.10

sshd: 158.250.4.2 128.128.128.128

/etc/hosts.deny (в нем прописывается, с каких компьютеров и по каким протоколам нельзя входить в систему)

ALL: ALL

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

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

В начало В начало

DSL

АDSL-модем взаимодействует с компьютером посредством сетевой карточки. В данном случае не нужно ни задавать карточке адрес, ни конфигурировать ее при загрузке системы. Также при использовании DSL провайдер дает статический адрес, что весьма удобно. Однако бывает, что вместо нормального Ethernet вы получите протокол PPPOE (PPP по Ethernet). И тогда вам придется ставить поддержку этого протокола, то есть примерно следующий «джентльменский набор» пакетов программ:

ppp, dhcpcd, pppoe-linuxconf, rp-pppoe,

и сконфигурировать их.

Существует два метода авторизации, которые используют провайдеры: PAP и CHAP. Соответственно нужно редактировать либо файл паролей /etc/ppp/pap-secrets, либо /etc/ppp/chap-secrets. Эти файлы имеют формат:

login server password IP

Кроме того, нужно отредактировать файл конфигурации /etc/ppp/pppoe.conf. В нем два важных параметра:

ETH=eth0 (это сетевой интерфейс, подсоединенный к ADSL-модему)

USER=user@domain.com (это идентификатор пользователя, который вы получаете у провайдера)

Для загрузки DSL при загрузке системы нужно в файл /etc/rc.d/rc.local добавить строку: /usr/sbin/adsl-start

Из дополнительных настроек иногда полезно задать параметр MTU (Max Transfer Unit) с помощью команды:

ifconfig eth0 mtu XXX (например, 1500)

В начало В начало

PPP

И напоследок — PPP, то есть обычный модем. Это самый простой вариант, который требует меньше всего затрат и сил, но подходит, видимо, только для организации почты, так как даже с очень хорошей АТС получить соединение выше 46 000 почти нереально.

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

minicom

С ее помощью можно поообщаться с модемом. Правда, предварительно модем должен быть соединен со своим рабочим TTY, например, так:

ln -sf /dev/ttyS0 /dev/modem

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

/etc

/etc/ppp

/usr/bin

Для настройки PPP нужно отредактировать (проверить) следующие файлы:

pap-secrets (здесь собраны логины и пароли для авторизации PAP)

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

hippo (дополнительные настройки провайдера)

dial-hippo (скрипт дозвона. В нем могут быть установлены параметры работы модема при соединении)

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

dialin (дополнительные настройки в случае входящих звонков)

ip-up (это основной файл, где содержится информация о том, что делать, когда соединение установлено и надо работать с PPP-протоколом. Он должен быть исполняемым).

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

pppd /dev/modem 115200 file /etc/ppp/hippo user USER ipparam MODE

В начало В начало

Вместо заключения

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

Во-первых, сеть из нескольких (в принципе, может быть сколько угодно компьютеров); а во-вторых, один шлюз.

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

В большинстве случаев происходит так.

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

Затем компания думает о собственном Web-сервере, чтобы не зависеть от провайдера.

Может быть, захочется иметь еще и ftp.

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

Вот обо всем этом по порядку мы и будем рассказывать в цикле статей о построении сети. А строить сеть мы будем, конечно же, на основе UNIX. И соединение будет проводное или, по крайней мере, с фиксированным IP.

КомпьютерПресс 4'2002


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует