Из версии 0.01 от примерно 2002

Версия 1.01   23.10.2005

 

Корпоративный сервер на базе UNIX

 

 

Для кого эта статья

 

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

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

1.  Цели, задачи

 

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

 

Разворачиваемые сервисы

 

Рассматриваются вопросы предоставления следующих сервисов для Вашего офиса:

- подключение к интернет

- электронная почта

- WWW сервер

- централизованная антивирусная защита

- защита сети против кражи информации и взлома

 

- подключение к интернет

 

Тип подключения при этом может быть следующий:

- выделенная линия

- "интернет в параллель с телефоном" - метод подключения "поверх" существующей телефонной линии, не занимая телефонную линию - xDSL

- радиодоступ

- Ethernet

 

Рассмотрим некоторые варианты, их преимущества и недостатки

 

Выделенная линия:

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

Вариант подключения Ethernet-модем.

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

 

 

 

подключение к асинхронному порту (СОМ-порту):

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

 

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

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

 

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

 

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

Модемы общего назначения (универсальные) обычно это внешние модемы - Zyxel, US Robotics Courier и др. в паспорте которых указаны команды работы по выделенной линии. Могут использоваться и специализированные модемы для выделенных линий - Zelax, Cronyx, Pairgain, GRAN и др.

Основные неприятности могут ожидать с 2-х сторон - с одной стороны - очень длинная линия к провайдеру - сопротивление провода, закороченного с одной стороны  (петля) больше 300-600 ом, при этом модемы плохо слышат друг друга и канал нестабилен. С другой стороны - при относительно хорошей линии модемы зависают и не переконнекчиваются - в этом случае целесообразно посетить сервисную мастерскую по обслуживанию модемов и установить самую свежую прошивку модема. В некоторых модемах данную процедуру можно сделать самостоятельно, выкачав соответствующее программное обеспечение с сайта производителя модемов (не путать с заменой драйвера операционной системы - мы говорим только о самом физическом устройстве "модем"). У некоторых модемов просто есть соответствующие переключатели для корректировок параметров в соответствии с типом используемой линии (RAD, Zelax и т.д.). То есть - документация и консультации продавцов оборудования. Во всяком случае подобное оборудование относится в классу профессионального и надо склонять продавцов на предоставление оборудования «под залог», «на попробовать» и окончательно платить деньги за него только после того как оно отработает пару дней/недель на той линии, на которой ему стоять годами.

 

Современное оборудование позволяет выполнить подключение непосредственно к Ethernet порту провайдера. Это наиболее простой вид подключения с точки зрения конфигурирования сервера. Эти вопросы определяются политикой провайдера в предоставлении услуг и наверное в большей степени - мобильностью провайдера в привлечении самых современных технологий.

 

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

 

В заключение следует также отметить относительно новый вид подключения, разворачивающийся в Украине - xDSL (и ADSL). Это вариант подключения через существующие телефонные линии xDSL модемов Сириус-128. При наличии соответствующего оборудования на Вашей АТС Укртелеком (или провайдер, предоставляющий услуги xDSL дорступа) достаточно быстро может подключить Вас к интернет со скоростями до 115 кб/с без каких-либо дополнительных затрат на прокладку кабеля и земляные работы в мерзлом грунте. Все вопросы необходимо выяснять в представительстве Укртелеком, где вы обычно решаете вопросы с телефонией или на сайте Укртелеком: http://ukrtelecom.ua/ua/services/internet/xdsl.html. Время меняется и появляются новые предложения по подключениям - никто за Вас не будет следить за новыми возможностями в Вашем районе.

 

 

- электронная почта

 

Предоставление электронной почты необходимо рассматривать в качестве одной из основных задач построения системы. Решение может быть как в виде (а) одиночного сервера, так и в виде (б) распределенной системы в которой один сервер выполняет основные функции по внешним коммуникациям с Интернет, защиты и пересылке всей входящей почты на внутренние защищенные сервера. В первом случае проще реализуется система в целом с точки зрения ящиков оборудования, находящихся в офисе - один ящик (а), во втором случае - проще реализуется система ведения учетных записей пользователей и поддержка системы безопасности (б). Еще один вариант - размещение внутренних серверов на виртуальных платформах типа VmWare или Virtual PC.

 

- WWW сервер

 

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

 

-          централизованная антивирусная защита

 

Антивирусная защита почтовой системы может быть построена по многоуровневому принципу в зависимости от схемы построения сети:

- первый уровень – защита на сервере, принимающем и отправляющем электронную почту непосредственно в интернет

 

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

           

Политики безопасности

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

Вторая сторона размышлений по поводу политики безопасности приходит со временем по мере накопления опыта и включения Интернет в Ваш бизнес. Что вы можете потерять, если у Вас не будет электронной почты в течении одного часа ? Одного рабочего дня ? Трех дней ? Сколько Ваших клиентов при этом переметнутся к Вашим конкурентам ? Или сколько человек потеряет возможность нормально работать из-за простоя сервера ? Будут ли выполнены Ваши контракты при таких условиях ? Рассматриваете ли Вы вид документального обмена "электронная почта" как официальный документооборот ? Что произойдет если письма будут теряться или ошибочно идентифицироваться как зараженные и не доставляться ?

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

 

Концепции безопасности (техническая безопасность, программная безопасность)

 

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

- должно быть обеспечена невозможность непосредственного мгновенного доступа к оборудованию

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

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

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

- для основных элементов системы подключения к интернет (сервера) должны использоваться по возможности более надежные компоненты

Основной интернет сервер (а в последствии - основной WWW сервер) учитывая их непрерывность работы и требование по надежности выполнения функций должны быть собраны на компонентах известных производителей. Скорость подключения к интернет обычно в пределах 64-128 кб/с и исходя из этого можно считать достаточным для начального этапа использование в качестве интернет-сервера компьютеров с процессором уровня Пентиум-150 / Петниум-200 и 32-64 Мб оперативной памяти. Для жесткого диска желательно использование интерфейса SCSI и дисков производства корпорации IBM. Это объясняется высокой надежностью оборудования IBM- SCSI и особенностями значительно более надежной внутренней структуры интерфейса SCSI по сравнению с интерфейсом IDE. Как дополнительным элементом повышающим надежность рекомендуется использовать пассивный радиатор охлаждения процессора и дополнительное вентилирование сервера.

Для серверов работающих под управлением операционной системы Windows NT-4 Server рекомендуется использовать как минимум программное резервирование дисков (Mirroring).

            Альтернативным решением можно принять построение сервера на базе ATA RAID контроллеров. Неплохо работают контроллеры серии Promise с дисками серий 8 Мб кеш памяти позволяя создавать большие по объему дисковые массивы. Скорость работы подобного решения не ниже чем при использовании SCSI дисков, но соответственно объему стоимость – несопоставима со SCSI решением.

 

 

Схема подключения к Интернет принята многоуровневая.

Рассмотрим подключения с внешнего (по отношению к интернет) к внутреннему уровню.

 

На внешнем уровне находится оборудование провайдера - устройство доступа Zyxel-Prestige 100 или иное, имеющее Ethernet интерфейс или модем, имеющий COM-интерфейс.. Данное устройство представляет собой модем выделенной линии с выходом непосредственно на Ethernеt порт или подключаемый к COM-порту компьютера.

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

 

Политики безопасности рекомендуются следующие:

- интернет сервер не должен иметь открытых неиспользуемых сервисов

все что не используется должно быть отключено

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

принцип жесткого ограничения доступа к административным

функциям

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

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

- на Интернет сервере не должна находиться критически важная информация кроме той, которая в данный момент времени непосредственно обрабатывается

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

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

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

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

Распределенные сети

 

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

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

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

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

9. Общая архитектура сети         

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

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

 

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

 

2.Сеть на основе NT-4 или MS-2000 сервера. При этом Unix сервер выполняет только функции внешнего интерфейса в Интернет, поддержки почтовой системы и бастиона безопасности.

 

3. Отличие от схемы 2  состоит в том, что почтовый сервер доступа к почтовым ящикам перенесен с Unix  сервера на внутренний сервер. При этом можно установить как бесплатные почтовые сервера так и серьезные коммерческие продукты (Lotus Notes, MS Exchange и др.)

 

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

 

 

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

 

 

Получение IP адресов

 

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

Проверка видимости может быть проверена со следующих адресов:

http://www.webmasters.com/traceroute.htm

 

Или задав в любой поисковой машине поиск для сочетаний "traceroute + test".

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

Как некоторыми критериями можно считать следующее: 200 мс - неплохое время ответа, скачок на 350-380 мс - трафик между точками, где произошел скачок пускается через спутниковый канал. Ничего страшного при этом не происходит - только скорость реакции на Ваши запросы становится меньше и соответственно при активной работе в интернет фактическая скорость будет ниже хотя почти не будет заметно влияние при перекачке больших файлов. В этом иногда заключается уловка провайдеров - по протоколу FTP вы имеете приличную скорость, что и показывает провайдер, тогда как при фактической работе в интернет, сервис, обеспечиваемый провайдером оставляет желать лучшего. Показатели более 800 мс (при незагруженном канале) - провайдер не может обеспечить необходимую пропускную способность, цена такого подключения должна резко стремиться к стоимости нескольких бутылок пива в месяц (только чтобы Вас не забыли) - это не сервис. Хорошим индикаторов скорости подключения к интернет (то, что Вам фактически обеспечил провайдер) может быть Ваше личное сравнение со скоростью подключения в интернет кафе - там идет борьба за привлечение клиента и, соответственно,  администраторы кафе достаточно поднаторели в выкручиванию рук провайдеру на близком взаимопониманию между администраторами и провайдерами языке и тем самым обеспечению приличных показателей интернет-доступа для  посетителей. В целом рекомендации следующие:

а) не давать втягивать себя в дискуссию и

б) в договоре писать примерно следующее "… обеспечение скорости доступа к интернет в рабочее время с 9:00 до 18:00 (по показателям доступа как минимум к следующим узлам: www.yahoo.com, www.google.com, www.rambler.ru, www.ukr.net) не менее …. Кб/с …". Это впоследствии сильно сократит количество бесполезно потраченного на разъяснение времени.

 

2. Выбор операционной системы

 

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

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

 

FreeBSD - как и Linux достаточно гибкая система, но которая в обличие от Linux более жестко настраивается для обслуживания существующего оборудования.

 

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

 

3. Выбор и комплектация оборудования

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

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

Процессор - учитывая, что Вами врядле будет обслуживаться канал более 1 Мб/с, иначе вы бы не читали эту книгу, вполне достаточным будет использование процессоров с частотами 200-300 МГц. Из опыта можно сказать, что при подключении в асинхронному каналу 115 кб/с компьютер 486/66 проработал несколько лет без каких-либо замечаний и был заменен только по причине того, что некуда было вставить дополнительную сетевую карту для подключения к провайдеру по Ethernet.

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

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

Память - можно, конечно работать и на памяти допотопного размера, но комфортно вы будете себя чувствовать при канале более 57 кб/с начиная с 64 МБ. Для схем построения сети -1 и 2 нужно относительно больше памяти, для 3 и 4 - меньше. Разумным было бы планировать 128 МБ. Больше 256 врядле будет использоваться непосредственно операционной системой.

Жесткий диск - самый надежный вариант - SCSI. Более простое решение - IDE. Объем диска можно определить примерно так: для варианта построения сети 3 и 4 будет достаточным диск объемом от 4-х Гб. При построении системы по схеме 2 - 6 и более Гб. Для схемы 1 - более 4 ГБ, учитывая что на общем диске сервера может находиться значительный объем информации. На сегодняшний день этот вопрос в принципе уже не следует рассматривать как существенный для инсталляции систем непосредственно на физический компьютер - диски уже слишком большие. Но вместе с тем - вопросы сохраняются при установке серверов в режиме виртуальных машин. Хорошим решением будет инсталляция RAID массива. Достаточно надежными на сегодня являются IDE-RAID решения от Promise или Adaptec при использовании дисков WD и Maxtor.

COM-порты - сложный вопрос. На удивление, старый COMPAQ 486 имел "правильную" микросхему обслуживания портов и работал прекрасно. При переходе на "Пентиумную" систему - оказалось, что при работе сервера постоянно возникают ошибки, связанные с потерей данных в порту. Рекомендации в данном случае  может быть следующими:

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

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

-          убедить провайдера подключить Вас по Ethernet. При этом Вам ставят несколько другой модем и все становится значительно проще.

Сетевые карты - любые известных производителей, но не очень древние. При подключении внешнего канала через COM-порт достаточно одной сетевой карты, при подключении по Ethernet - две. Для внешнего канала нет необходимости устанавливать 100 МБ карту - канал значительно менее скоростной. "Внутренняя" сетевая карта желательна 100 Мб если она будет работать как Gateway для внутренней сети и безразлично 10 или 100 Мб если внутри стоит еще один сервер, сам для внутренней сети работающий как Gateway.

 

Расположение сервера, вентиляция, энергоснабжение

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

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

 

Теплоотвод из закрытого помещения. Вне зависимости от того где расположено оборудование, возникает проблема с теплоотводом. Можно с какой-то долей уверенности говорить об общем энергетическом балансе: в замкнутом помещении Вы включаете оборудование общей потребляемой мощностью, допустим 1 кВт - это всего 2 современных компьютера с включенными терминалами. Куда-то эту электрическую мощность, переработанную компьютерами и терминалами в тепловую необходимо рассеять. В конечном счете Вы пытаетесь поиграть в игру - обогреватель в герметично закрытом холодильнике: кто кого. Решений может быть два - поставить кондиционер или сделать систему принудительной вентиляции. Чем плох кондиционер - от потребляет значительную мощность и его нельзя включить на бесперебойную работу, он шумит. Какие преимущества обычной правильно сделанной системы вентиляции - она почти не потребляет энергии и не шумит. Современное оборудование нет необходимости держать при точно установленной температуре - со времени существования огромных машин поменялись стандарты производства компьютеров. Вполне достаточно будет приточно-вытяжной вентиляции в помещении или объеме, в котором находится сервер. При этом забор воздуха можно делать прямо из коридоров или рабочих помещений, что дополнительно освежит там воздух. Выброс воздуха из верхней части помещения можно делать на улицу летом или в коридор зимой. При подобном решении желательно установить на приточном канале решетку с легкой фильтрующей тканью на подобие той, которая используется в обычных кухонных вытяжках. По поводу сечения канала вытяжки и типа вентилятора. 100 мм канал и соответствующий вентилятор будет явно недостаточным. Хорошее решение - канал 180-200 мм диаметром и вентилятор с регулятором скорости вращения.  Об этом хорошо знают продавцы сантехнического вентиляционного оборудования. В этом случае очень просто решается вопрос снижения шума от работающей системы вентиляции - чем ниже обороты - тем меньше шум. Температура внутри может быть 25-30 градусов.

 

Противопожарная защита. В основном тактика должна складываться из нескольких простых шагов:

- надежное по коммутируемым нагрузкам энергоснабжение

            - кабельное хозяйство достаточного сечения

            - наиболее короткие провода

            - металлические контейнеры / стеллажи для оборудования

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

            - аккуратная укладка кабелей

            - минимум коробок и второстепенных материалов в зоне расположения компьютеров

            - надежные розетки

 

4. Инсталяция ОС

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

 

Самое удобное загружаться с CD-ROM. Если нет CD-ROM с загрузочной версией FreeBSD - обращайтесь к провайдеру - должен помочь или дать FreeBSD или просто поставить сервер. Теоретически можно выполнить инсталляцию с инсталляционных дискет, но это можно сделать только будучи подключенным к интернет. Большую часть информации FreeBSD в этом случае будет скачивать из Интернет автоматически.

 

Общая идея инсталляции - поставить систему в минимальной конфигурации, подключить ее к интернет и потом довести систему до необходимого состояния, выкачивая необходимые пакеты из Интернет или доставляя с полного CD-ромного набора пакетов, которые вы имеете у себя на столе. В случае инсталляции пакетов из Интернет Вы будете иметь последние версии рабочих пакетов имеющегося в наличии дистрибутива ОС и проверите в прямую пропускную способность канала. Почему так ? Структура конфигурации FreeBSD предполагает наличие в принципе двух основных конфигурационных директорий

 

/etc

/usr/local/etc

 

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

После инсталляционной загрузки вы попадаете в

 

Kernel Configuration Menu

Вым необходимо выбрать пункт

Skip kernel configuration and continue with installation

 

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

kernel.GENERIC

В дальнейшем протокол его загрузки можно будет посмотреть в

/var/log/messages для проведения соответствующих корректировок устройств, входящих в ядро.

 

Примерный вид протокола загрузки ядра следующий:

 

 

Сообщение

комментиарий

1

Feb  7 10:41:22  /kernel: Copyright (c) 1992-2002 The FreeBSD Project.

Feb  7 10:41:22  /kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994

Feb  7 10:41:22  /kernel: The Regents of the University of California. All rights reserved.

Feb  7 10:41:22  /kernel: FreeBSD 4.7-RELEASE #0: Wed Oct  9 15:08:34 GMT 2002

Feb  7 10:41:22  /kernel: root@builder.freebsdmall.com:/usr/obj/usr/src/sys/GENERIC

Это вобщем-то именно заголовок, версия ОС, имя кернела

2

Feb  7 10:41:22  /kernel: Timecounter "i8254"  frequency 1193182 Hz

Feb  7 10:41:22  /kernel: CPU: Pentium II/Pentium II Xeon/Celeron (400.91-MHz 686-class CPU)

Feb  7 10:41:22  /kernel: Origin = "GenuineIntel"  Id = 0x660  Stepping = 0

Тип процессора

3

Feb  7 10:41:22  /kernel: Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>

Что в кернеле загружено - какие подсистемы

4

Feb  7 10:41:22  /kernel: real memory  = 167772160 (163840K bytes)

Feb  7 10:41:22  /kernel: avail memory = 157904896 (154204K bytes)

память

5

Feb  7 10:41:22  /kernel: Preloaded elf kernel "kernel" at 0xc050f000.

Feb  7 10:41:22  /kernel: Pentium Pro MTRR support enabled

Процессорные дела

6

Feb  7 10:41:22  /kernel: md0: Malloc disk

Feb  7 10:41:22  /kernel: Using $PIR table, 6 entries at 0xc00fd200

Feb  7 10:41:22  /kernel: npx0: <math processor> on motherboard

Feb  7 10:41:22  /kernel: npx0: INT 16 interface

Виртуальный диск в памяти, процессор плавающей точки

7

Feb  7 10:41:22  /kernel: pcib0: <Intel 82443LX (440 LX) host to PCI bridge> on motherboard

Feb  7 10:41:22  /kernel: pci0: <PCI bus> on pcib0

Feb  7 10:41:22  /kernel: pcib1: <Intel 82443LX (440 LX) PCI-PCI (AGP) bridge> at device 1.0 on pci0

Feb  7 10:41:22  /kernel: pci1: <PCI bus> on pcib1

Feb  7 10:41:22  /kernel: isab0: <Intel 82371AB PCI to ISA bridge> at device 2.0 on pci0

Feb  7 10:41:22  /kernel: isa0: <ISA bus> on isab0

Feb  7 10:41:22  /kernel: atapci0: <Intel PIIX4 ATA33 controller> port 0xf000-0xf00f at device 2.1 on pci0

Feb  7 10:41:22  /kernel: ata0: at 0x1f0 irq 14 on atapci0

Feb  7 10:41:22  /kernel: ata1: at 0x170 irq 15 on atapci0

Feb  7 10:41:22  /kernel: uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xd000-0xd01f irq 11 at device 2.2 on pci0

Feb  7 10:41:22  /kernel: usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0

Feb  7 10:41:22  /kernel: usb0: USB revision 1.0

Feb  7 10:41:22  /kernel: uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1

Feb  7 10:41:22  /kernel: uhub0: 2 ports with 2 removable, self powered

Feb  7 10:41:22  /kernel: chip1: <Intel 82371AB Power management controller> port 0x5000-0x500f at device 2.3 on pci0

Устройства, шины

8

Feb  7 10:41:22  /kernel: pci0: <unknown card> (vendor=0x125d, dev=0x1969) at 13.0 irq 5

 

9

Feb  7 10:41:22  /kernel: ahc0: <Adaptec 2940 Ultra SCSI adapter> port 0xe800-0xe8ff mem 0xe3000000-0xe3000fff irq 10 at device 14.0 on pci0

Feb  7 10:41:22  /kernel: aic7880: Ultra Wide Channel A, SCSI Id=15, 16/253 SCBs

Контроллер

10

Feb  7 10:41:22  /kernel: rl0: <Accton MPX 5030/5038 10/100BaseTX> port 0xec00-0xec7f mem 0xe3001000-0xe300107f irq 5 at device 15.0 on pci0

Feb  7 10:41:22  /kernel: rl0: Ethernet address: 00:e0:29:1d:35:54

Feb  7 10:41:22  /kernel: miibus0: <MII bus> on rl0

Feb  7 10:41:22  /kernel: rlphy0: <RealTek internal media interface> on miibus0

Feb  7 10:41:22  /kernel: rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

Сетевая карта

11

Feb  7 10:41:22  /kernel: orm0: <Option ROMs> at iomem 0xc0000-0xc67ff,0xc8000-0xc9fff,0xcc000-0xd07ff on isa0

 

12

Feb  7 10:41:22  /kernel: fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0

Feb  7 10:41:22  /kernel: fdc0: FIFO enabled, 8 bytes threshold

Feb  7 10:41:22  /kernel: fd0: <1440-KB 3.5" drive> on fdc0 drive 0

флопик

13

Feb  7 10:41:22  /kernel: atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0

Feb  7 10:41:22  /kernel: atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0

Feb  7 10:41:22  /kernel: kbd0 at atkbd0

клава

14

Feb  7 10:41:22  /kernel: vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0

Feb  7 10:41:22  /kernel: sc0: <System console> at flags 0x100 on isa0

Feb  7 10:41:22  /kernel: sc0: VGA <16 virtual consoles, flags=0x300>

Видео-подсистема

15

Feb  7 10:41:22  /kernel: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0

Feb  7 10:41:22  /kernel: sio0: type 16550A

Feb  7 10:41:22  /kernel: sio1 at port 0x2f8-0x2ff irq 3 on isa0

Feb  7 10:41:22  /kernel: sio1: type 16550A

СОМ-порты

16

Feb  7 10:41:22  /kernel: ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0

Feb  7 10:41:22  /kernel: ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode

Feb  7 10:41:22  /kernel: plip0: <PLIP network interface> on ppbus0

Feb  7 10:41:22  /kernel: lpt0: <Printer> on ppbus0

Feb  7 10:41:22  /kernel: lpt0: Interrupt-driven port

Feb  7 10:41:22  /kernel: ppi0: <Parallel I/O> on ppbus0

LPT-порты

17

Feb  7 10:41:22  /kernel: acd0: CDROM <FX120T> at ata1-slave PIO3

CD

18

Feb  7 10:41:22  /kernel: Mounting root from ufs:/dev/da0s1a

Монтирование файловой системы

19

Feb  7 10:41:22  /kernel: da0 at ahc0 bus 0 target 0 lun 0

Feb  7 10:41:22  /kernel: da0: <SEAGATE ST39236LW 0005> Fixed Direct Access SCSI-3 device

Feb  7 10:41:22  /kernel: da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled

Feb  7 10:41:22  /kernel: da0: 8761MB (17942584 512 byte sectors: 255H 63S/T 1116C)

HDD

 

 

 

 

 

Замечание: все команды в Unix даются маленькими буквами если это не оговорено специально. Далее по тексту В СЛУЧАЕ ПРИМЕНЕНИЯ БОЛЬШИХ БУКВ ЭТО БУДЕТ ОГОВОРЕНО В КАЖДОМ СЛУЧАЕ. Все остальные команды считать командами в мелких буквах.

 

 

Sysinstall Main Menu

Выбираем

Express

 

FDISK partitition editor

Удаляем все разделы на диске (символом D) и указываем использование всего диска (символом A)

Далее указав курсором на раздел, помеченный как

…..  freebsd 165 C

символом S добавляем этому разделу флаг Загружаемый (Bootable) и получаем:

………. Freebsd 165 CA

Завершаем символом Q

 

Инсталляция загрузчика

Install Boot Manager for drive …

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

 

Попадаем в меню разбивки диска

FreeBSD Disklabel Editor

Можно указать функцию автоматической разбивки, но это не всегда бывает удачный выбор.

Что можно изменить - желательно или сделать раздел / в 256 МБ,  /usr и /var одинаковыми по размеру или на раздел /usr оставить 2-6 ГБ, остальное - на раздел /var. Если места много - увеличить до 512 Мб - 1000 Мб раздел /tmp. Основные данные – WWW и FTP будем стараться держать на /var. SWAP раздел при объеме RAM в 32-64 МБ или не меньше 128 МБ или если по умолчанию системой предложено больше – предложенное значение. Завершаем разбивку подтверждающей командой Q.

Замечание. На данном этапе - SWAP можно оставить и небольшим - потом будет показано как его увеличить на работающей системе.

 

Выбор инсталлируемого набора.

Choose Distributions

Выбираем:

- Kern-Developer

и инсталлируем с CD.

Это может занять от 5 минут до получаса - в зависимости от скорости компьютера.

После этого можем сразу конфигурировать систему, а можем делать это после перезагрузки.

На этом, в принципе, кончается первый этап инсталляции - система запущена. Если Вы восстанавливаете систему, то необходимо развернуть архивы /etc и /usr/local/etc и ./home архивированные и сохраненные из предыдущей рабочей инсталляции, переинсталлировать пекеты и система опять будет работоспособной.

 

 

Дальнейшую конфигурацию выполняем из-под имени пользователя root:

 

Настройка сетевых интерфейсов

 

Первоначальную настройку проще всего (и желательно) выполнять из встроенной системы конфигурирования FreeBSD. При этом исключаются возможные ошибки по ставнению с конфигурированием «вручную».

 

/stand/sysinstall

>Configure - Do post-install configuration of FreeBSD

     > Networking

           > Interfaces

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

 

 

Внешний интерфейс (для случая подключения через Eternet порт)

 

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

 

Адрес (адрес Вам выделенный)

Addreess

252.138.76.6

Маска сети

Netmask

255.255.255.240

Шлюз

Gateway

252.138.76.1

Сервер имен

DNS

252.138.76.251

 

Желательно первоначальную настройку вести используя сервисные пакеты (/stand/sysinstall). Для контроля и общего понимания логики внимательно смотреть в файлы конфигурации (группа файлов /etc/rc.xxxxx  ). После настройки базовых сервисов - можно будет идти по более красивому пути - поставить пакет Webmin (http://www.webmin.com) и рулить из него. Этот путь может быть является наиболее предпочтительным - ясно видно что делается.

            Словарь:

Host - имя будущего сервера  testserver

Domain - регистрационное имя Вашей организации  -              test.kiev.ua

Ipv4 Gateway   - IP адрес модема провайдера

Name server - первоначально адрес сервера имен провайдера

Ipv4 Address - тот адрес, который выдан Вам провайдером

Netmask - маска, сообщается провайдером. Дополнительная полезная табличка ниже.

 

Адресов

Маска

Маска

Маска

 

/8

255.0.0.0

0xff000000

 

/16

255.255.0.0

0xffff0000

256

/24

255.255.255.0

0xffffff00

128

/25

255.255.255.128

0xffffff80

64

/26

255.255.255.192

0xffffffc0

32

/27

255.255.255.224

0xffffffe0

16

/28

255.255.255.240

0xfffffff0

8

/29

255.255.255.248

0xfffffff8

4

/30

255.255.255.252

0xfffffffc

2

/31

255.255.255.254

0xfffffffe

1

/32

255.255.255.255

0xffffffff

 

Подсчет «живых» адресов, выделяемых провайдером. Маска 255.255.255.252 – это минимальное количество адресов, выделяемых провайдером:

1-й адрес -  адрес начала Вашей подсети

2-й адрес -   адрес Gateway для Вашей подсети - ваш сервер ходит через этот адрес

3-й адрес Ваш адрес

4-й адрес – Broadcast address

 

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

 

Можем открыть второе рабочее окно по Alt+F2, заходим как пользователь root и можем использовать это окно для каких-то других работ.

 

Проверяем доступные интерфейсы:

 

Ifconfig -a

 

Результат:

 

xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

ether 00:04:76:15:d5:68

 media: autoselect (10baseT/UTP) status: active

        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP 100baseTX <hw-loopback>

ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

ether 00:00:c0:ff:4d:6d

ed1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

ether 00:00:c0:fb:4d:6d

ep0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

ether 00:20:af:9c:cf:31

        media: 10baseT/UTP

        supported media: 10base2/BNC 10baseT/UTP 10base5/AUI

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

        inet 127.0.0.1 netmask 0xff000000

ppp00: flags=8010<POINTOPOINT,MULTICAST> mtu 1280

 

 

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

 

Конфигурируем интерфейс на сетевой карте 3C905 - xl0 - его подключаем к провайдеру.

 

ifconfig xl0 inet 252.138.76.6 netmask 255.255.255.240

 

Или для ясности

 

ifconfig xl0 inet <то что нам провайдер выделил как наш адрес>  netmask <то что нам провайдер выделил как наша маска>  

 

 

Если никакого сообщения с оскорблениями в адрес давшего команду  после этой команды не последовало, проверяем "живой" интерфейс или нет:

 

ping 252.138.76.6

 

Результат если интерфейс "живой", то есть мы пинтуем «внутренний» адрес интерфейса. Наружу пока ничего не идеи и мы вобщем-то не требуем пока чтобы оно шло.

 

64 bytes from 252.138.76.6: icmp_seq=0 ttl=255 time=0.117 ms

64 bytes from 252.138.76.6: icmp_seq=1 ttl=255 time=0.117 ms

64 bytes from 252.138.76.6: icmp_seq=2 ttl=255 time=0.119 ms

64 bytes from 252.138.76.6: icmp_seq=3 ttl=255 time=0.117 ms

64 bytes from 252.138.76.6: icmp_seq=4 ttl=255 time=0.106 ms

 

Если "мертвый"

 

ping: sendto: Host is down

ping: sendto: Host is down

ping: sendto: Host is down

ping: sendto: Host is down

 

Если "мертвый" - проверяем тот ли интерфейс конфигурируем (по имени)  и (как вторичное) - к той ли сетевой карте подсоединен кабель, "живой" кабель или нет. На данном этапе желательно использовать для подключения к модему небольшой HUB с индикаторами подключения Ethernet портов. Хотя повторимся - на данном этапе мы работаем только с «внутренним» адресом, «навешенном» на интерфейс.

 

Интерфейс "живой".

 

Прописываем Gateway для сервера

 

route add default 252.138.76.1

или

route add default < то что провайдер выдал нам как гейт>

 

 

Ответ:

 

add net default: gateway 252.138.76.1

 

Проверяем видим ли мы DNS сервер провайдера (видим ли провайдера вообще)

 

Ping 252.138.76.251

 

Результат:

 

64 bytes from 252.138.76.251: icmp_seq=7 ttl=252 time=521.266 ms

64 bytes from 252.138.76.251: icmp_seq=8 ttl=252 time=525.677 ms

64 bytes from 252.138.76.251: icmp_seq=9 ttl=252 time=414.550 ms

 

Можем посмотреть таблице маршрутизации

 

netstat -rn

 

Получим что-то подобное:

 

Routing tables

 

Internet:

Destination        Gateway            Flags    Refs      Use  Netif Expire

default            252.138.76.1       UGS         0    24978   lnc0

127.0.0.1          127.0.0.1          UH          0     6777    lo0

192.168.11         link#1             UC          0        0   lnc0

252.138.76.251     00:60:08:93:8c:ae  UHLW        0      355   lnc0   1181

 

По таблице видны машины, находящиеся в сети (например 252.138.76.251, это наш же интерфейс), гейтвей по умолчанию - 252.138.76.1

 

Внешний интерфейс (для случая подключения через СОМ порт)

 

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

 

Для варианта xDSL после получения одного интернет адреса (необходимо в заявках указывать необходимость выделения адреса из Интернет-сети а не внутренней сети провайдера - для возможности регистрации доменного имени и работы с электронной почтой) команда подключения к провайдеру может быть следующей (все одной строкой):

 

pppd /dev/cuaa1 115200 <выделенный Вам адрес>:<указанный провайдером Gateway> persist crtscts defaultroute

 

Можно провести тестирование устройств последовательных портов в режиме используя коммуникационную программу (например, cu или dip), передать последовательность символов, нажатых на клавиатуре, в последовательный порт. При этом, кстати, проверяется правильность именования того порта к которому подключен имодем.
Например

# cu -l -s 115200 <имя устройства>

где <имя устройства>: /dev/ttyd0 - COM1 /dev/ttyd1 - COM2 или /dev/cuaa0 - /dec/cuaa1 соответственно

При правильной настройке, именовании СОМ портов и рабочих последовательных портах будет происходить отображение (эхо) нажатых символов.

 

Внутренний интерфейс

 

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

192.168.0.0 - 192.168.255.255

10.101.0.0. - 10.101.255.255

 

 

Выбираем для простоты сетку 192.168.23.0. Сразу оговоримся - нежелательно брать сетку с адресами 192.168.0.0-192.168.0.0.255 так как впоследствии необходимо очень тщательно следить за масками сетей, назначаемыми автоматически для сеток 192.168.0.ХХХ - часто автоматически присваиваемая маска 255.255.0.0. вместо правильной в данном случае 255.255.255.0. Определенная жесткость в конфигурировании не повредит.

Конфигурируем внутренний интерфейс абсолютно анологично внешнему согласно таблице:

 

Адрес (адреса)

Addreess

192.168.23.9

Маска сети

Netmask

255.255.255.0

Шлюз

Gateway

Нет необходимости в конфигурирорвании

DNS

DNS

Нет необходимости в конфигурирорвании

 

Соответственно назначаем машинам внутренней сети, подключаемых в серверу через HUB или Switch следующие адреса:

 

Адрес (адреса)

Addreess

192.168.23.10-254

Маска сети

Netmask

255.255.255.0

Шлюз

Gateway

192.168.23.9

DNS

DNS

192.168.23.9, но на данном этапе он пока не используется

 

 

 

 

Устанавливаем ряд пакетов для администрирования: Deco, MC, WebMin. Предполагается, что сервер подключен к интернет, так как недостающие компоненты будут загружаться автоматически. Поставить все без подключения к интернет можно, но в этом случае необходимо иметь полный дистрибутив FreeBSD, обычно на 4-х дисках из которых 1-й диск - загружаемая система для инсталляции, 2-й диск -  "мини" FreeBSD - в основном очень полезная вещь для "изымания" данных из сбойнувшей системы и для первоначального обучения. 3-й и 4-й диски - дополнительные пакеты, поставляемые с FreeBSD. В последнее время набор для системы FreeBSD 5.4 - 2 диска с системой и 16 CD с готовыми пакетами.

 

В принципе на этом мы можем сказать, что первый этап прошли - сервер в Интернете. Это отправная точка для конфигурирования нового сервера как сервера или полного восстановления сервера из архива /etc и /usr/local/etc. Так как мы еще не прописывали никаких конфигурационных файлов, то пока никаких перезагрузок сервера делать нельзя - потеряем все настройки. Впоследствии с помощью пакета Webmin запишем их в конфигурационные файлы директорий /etc и /usr/local/etc

 

 

DECO

 

FreeBSD предлагает два пакета, значительно облегчающих жизнь при работе. Полная аналогия с Norton Commander

Подсказка: при наборе имен директорий или файлов хорошо должен работать следующий трюк:

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

 

 

Инсталяция из Интернет:

 

cd /usr/ports/mics/deco

make

make install

 

Заходим в любое свободное окно

Alt + F3 или Alt + F4 как root и запускаем deco. Понимаем, что еще не все потеряно и Unix не такой страшный.

Инсталляция с дополнительного диска с прединсталированным программным обеспечением:

- находим диск с необходимым пакетом (может проще это сделать на Windows машине)

Или на Unix:

 

mount /cdrom

cd /cdrom

cd packages/all

ls deco*

 

- получите ответ что-то в духе deco-3.8.3.tgz - что и необходимо инсталлировать

 

pkg_add deco-3.8.3.tgz

 

выходим из системы и заходим опять как root, чтобы пакет стал доступным

 

exit

login: root

deco

     <CTRL>+F

 

и через F9 - делаем Save-Setup для загрузки DECO в том же виде следующий раз.

 

 

 

 

MC

 

Примерно такого же плана пакет MC - на любителя или deco или mc. Разница в текстовом редакторе - у Deco он более простой, ориентированный на более "Нортоновский" вариант работы, у MC - обычно во FreeBSD классический Unix редактор, понять который с первого раза достаточно сложно. В последних версиях FreeBSD они пришли таки к номальному текстовому редактору.

 

 

cd /usr/ports/misc/mc

make

make install

 

 

или через

 

pkg_add   (см. DECO)

 

Если в процессе инсталляции система говорит, что какого-то пакета не хватает -

 

Аналогично после exit и login запускаем mc (midc - в старых системах)

 

Меняем пароль root

Passwd   <новый пароль>

 

 

Замечание: Все что мы будем ставить - в общем случае будет ставиться под директорией /usr/local

 

WEBMIN

Создаем рабочую директорию для пакета "визуального" конфигурирования сервера из MS internet Explorer или Netscape с любого подключенного к серверу компьютера.

 

cd /var

mkdir distrib

cd distrib

mkdir webm

cd webm

 

bash-2.03# cd /var

bash-2.03# mkdir distrib

bash-2.03# cd distrib

bash-2.03# mkdir webm

bash-2.03# cd webm

 

 

 

В любом случае - будем делать небольшой трюк - нам нужно получить пакет на наш Unix компьютер.

 

ftp> open ftp.citkit.ru

login: anonymous

password: test@test.kiev.ua

ftp> ls

ftp> cd /pub

ftp> cd sourceforge

ftp> cd w

ftp> cd we

ftp> cd webadmin

ls

bin

prompt

mget webmin-1.240.tar.gz

 

 

 

Пакет скачан.

 

Разворачиваем архив и инсталлируем:

 

gzip -d webmin-1.050.tar.gz

 

Подсказка:

DECO устанавливаем курсор на webmin-1.050.tar.gz , набираем:

Gzip -d, потом нажимаем CTRL + Enter одновременно

MC  - тот же эффект последовательно ESC и Enter

 

Tar -xvf webmin-1.050.tar

 

Cd webmin-1.050

./setupю.sh

 

Будет задано несколько вопросов. Будет предложено установить пакет на порт 10000 - поставьте свое значение в пределах 20000 - 50000 - это повысит безопасность Вышей системы.

 

Теперь, зайдя по адресу http://192.168.23.9:10000  (или тот порт который вы выбрали) и введя соответственно имя администратора и пароль, имеем систему управления конфигурацией Вашего сервера.

 

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

 

конфигурирование ядра

 

 

Если мы поставили систему в варианте - с исходными текстами для ядра - то:

 

cd  /usr/src/sys/i386/conf

 

Если не поставили - ставим исходный 1-й CD в дисковод:

 

#mount /cdrom

#cd /cdrom/src

#./install.sh sys

 

 

В конечном счете видим там несколько файлов

 

Для версии 5.4

 

$ ls -l

total 76

-rw-r--r--  1 root  wheel   9966 Apr  2  2005 GENERIC

-rw-r--r--  1 root  wheel   1982 Apr  1  2004 GENERIC.hints

-rw-r--r--  1 root  wheel    120 Feb 26  2003 Makefile

-rw-r--r--  1 root  wheel  33699 May  1 05:38 NOTES

-rw-r--r--  1 root  wheel    469 Jul 13  2004 OLDCARD

-rw-r--r--  1 root  wheel   1754 Apr 30 15:55 PAE

-rw-r--r--  1 root  wheel    322 Feb  6  2005 SMP

-rw-r--r--  1 root  wheel   3991 Jul 26  2002 gethints.awk 

 

 

Для версии 4.7

 

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

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

1. Копируем GENERIC под новым именем, например, TEST

 

 

 

 

 

 

#

# GENERIC -- Generic kernel configuration file for FreeBSD/i386

#

# For more information on this file, please read the handbook section on

# Kernel Configuration Files:

#

#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html

#

# The handbook is also available locally in /usr/share/doc/handbook

# if you've installed the doc distribution, otherwise always see the

# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the

# latest information.

#

# An exhaustive list of options and more detailed explanations of the

# device lines is also present in the ./LINT configuration file. If you are

# in doubt as to the purpose or necessity of a line, check first in LINT.

#

# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.48 2002/08/31 20:28:26 obrien Exp $

 

 

machine             i386

cpu           I386_CPU

cpu           I486_CPU

cpu           I586_CPU

cpu           I686_CPU

 

 

ident         GENERIC

 

 

maxusers      0

 

 

#makeoptions  DEBUG=-g             #Build kernel with gdb(1) debug symbols

 

options       MATH_EMULATE         #Support for x87 emulation

options       INET                 #InterNETworking

options       INET6                #IPv6 communications protocols

options       FFS                  #Berkeley Fast Filesystem

options       FFS_ROOT             #FFS usable as root device [keep this!]

options       SOFTUPDATES          #Enable FFS soft updates support

options       UFS_DIRHASH          #Improve performance on big directories

options       MFS                  #Memory Filesystem

options       MD_ROOT                    #MD is a potential root device

options       NFS                  #Network Filesystem

options       NFS_ROOT             #NFS usable as root device, NFS required

options       MSDOSFS                    #MSDOS Filesystem

options       CD9660               #ISO 9660 Filesystem

options       CD9660_ROOT          #CD-ROM usable as root, CD9660 required

options       PROCFS               #Process filesystem

options       COMPAT_43             #Compatible with BSD 4.3 [KEEP THIS!]

options       SCSI_DELAY=15000     #Delay (in ms) before probing SCSI

options       UCONSOLE             #Allow users to grab the console

options       USERCONFIG           #boot -c editor

options       VISUAL_USERCONFIG    #visual boot -c editor

options       KTRACE               #ktrace(1) support

options       SYSVSHM                     #SYSV-style shared memory

options       SYSVMSG                     #SYSV-style message queues

options       SYSVSEM                     #SYSV-style semaphores

options       P1003_1B             #Posix P1003_1B real-time extensions

options       _KPOSIX_PRIORITY_SCHEDULING

options              ICMP_BANDLIM         #Rate limit bad replies

options       KBD_INSTALL_CDEV     # install a CDEV entry in /dev

options              AHC_REG_PRETTY_PRINT # Print register bitfields in debug

                                    # output.  Adds ~128k to driver.

options              AHD_REG_PRETTY_PRINT # Print register bitfields in debug

                                    # output.  Adds ~215k to driver.

 

 

 

# To make an SMP kernel, the next two are needed

#options              SMP          # Symmetric MultiProcessor Kernel

#options              APIC_IO      # Symmetric (APIC) I/O

 

 

device               isa

device               eisa

device               pci

 

 

# Floppy drives

device               fdc0  at isa? port IO_FD1 irq 6 drq 2

device               fd0   at fdc0 drive 0

device               fd1   at fdc0 drive 1

#

# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,

# don't use the above line for fdc0 but the following one:

#device                            fdc0

 

 

# ATA and ATAPI devices

device               ata0  at isa? port IO_WD1 irq 14

device               ata1  at isa? port IO_WD2 irq 15

device               ata

device               atadisk      # ATA disk drives

device               atapicd      # ATAPI CDROM drives

device               atapifd      # ATAPI floppy drives

device               atapist      # ATAPI tape drives

options               ATA_STATIC_ID       #Static device numbering

 

 

# SCSI Controllers

device               ahb          # EISA AHA1742 family

device               ahc          # AHA2940 and onboard AIC7xxx devices

device               ahd          # AHA39320/29320 and onboard AIC79xx devices

device               amd          # AMD 53C974 (Tekram DC-390(T))

device               isp          # Qlogic family

device               mpt          # LSI-Logic MPT/Fusion

device               ncr          # NCR/Symbios Logic

device               sym          # NCR/Symbios Logic (newer chipsets)

options         SYM_SETUP_LP_PROBE_MAP=0x40     # Allow ncr to attach legacy NCR devices when

                                   # both sym and ncr are configured

 

device        adv0  at isa?

device        adw

device        bt0   at isa?

device        aha0  at isa?

device        aic0  at isa?

 

device        ncv                 # NCR 53C500

device        nsp                 # Workbit Ninja SCSI-3

device        stg                 # TMC 18C30/18C50

 

 

 

# SCSI peripherals

device        scbus               # SCSI bus (required)

device        da                  # Direct Access (disks)

device        sa                  # Sequential Access (tape etc)

device        cd                  # CD

device        pass                # Passthrough device (direct SCSI access)

 

 

# RAID controllers interfaced to the SCSI subsystem

device        asr          # DPT SmartRAID V, VI and Adaptec SCSI RAID

device        dpt          # DPT Smartcache - See LINT for options!

device        iir          # Intel Integrated RAID

device        mly          # Mylex AcceleRAID/eXtremeRAID

device        ciss         # Compaq SmartRAID 5* series

 

# RAID controllers

device        aac          # Adaptec FSA RAID, Dell PERC2/PERC3

device        aacp         # SCSI passthrough for aac (requires CAM)

device        ida          # Compaq Smart RAID

device        amr          # AMI MegaRAID

device        mlx          # Mylex DAC960 family

device        twe          # 3ware Escalade

 

 

# atkbdc0 controls both the keyboard and the PS/2 mouse

device        atkbdc0 at isa? port IO_KBD

device        atkbd0       at atkbdc? irq 1 flags 0x1

device        psm0  at atkbdc? irq 12

 

device        vga0  at isa?

 

 

# splash screen/screen saver

pseudo-device splash

 

 

# syscons is the default console driver, resembling an SCO console

device                      sc0          at isa? flags 0x100

 

 

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver

#device                            vt0          at isa?

#options              XSERVER                                         # support for X server on a vt console

#options       FAT_CURSOR          # start with block cursor

# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines

#options       PCVT_SCANSET=2      # IBM keyboards are non-std

 

 

# Floating point support - do not disable.

device          npx0        at nexus? port IO_NPX irq 13

 

 

# Power management support (see LINT for more options)

device        apm0 at nexus? disable flags 0x20 # Advanced Power Management

 

 

# PCCARD (PCMCIA) support

device        card

device        pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000

device        pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

 

 

# Serial (COM) ports

device        sio0  at isa? port IO_COM1 flags 0x10 irq 4

device        sio1  at isa? port IO_COM2 irq 3

device        sio2  at isa? disable port IO_COM3 irq 5

device        sio3  at isa? disable port IO_COM4 irq 9

 

 

# Parallel port

device        ppc0  at isa? irq 7

device        ppbus               # Parallel port bus (required)

device        lpt                 # Printer

device        plip                # TCP/IP over parallel

device        ppi                 # Parallel port interface device

#device              vpo                 # Requires scbus and da

 

 

# PCI Ethernet NICs.

device        de                  # DEC/Intel DC21x4x (``Tulip'')

device        em                  # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')

device        txp                        # 3Com 3cR990 (``Typhoon'')

device        vx                         # 3Com 3c590, 3c595 (``Vortex'')

 

 

# PCI Ethernet NICs that use the common MII bus controller code.

# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!

device        miibus              # MII bus support

device        dc           # DEC/Intel 21143 and various workalikes

device        fxp          # Intel EtherExpress PRO/100B (82557, 82558)

device        pcn           # AMD Am79C97x PCI 10/100 NICs

device        rl           # RealTek 8129/8139

device        sf           # Adaptec AIC-6915 (``Starfire'')

device        sis          # Silicon Integrated Systems SiS 900/SiS 7016

device        ste          # Sundance ST201 (D-Link DFE-550TX)

device        tl           # Texas Instruments ThunderLAN

device        tx           # SMC EtherPower II (83c170 ``EPIC'')

device        vr           # VIA Rhine, Rhine II

device        wb           # Winbond W89C840F

device        xl           # 3Com 3c90x (``Boomerang'', ``Cyclone'')

device        bge          # Broadcom BCM570x (``Tigon III'')

 

 

 

# ISA Ethernet NICs.

# 'device ed' requires 'device miibus'

device        ed0          at isa? port 0x280 irq 10 iomem 0xd8000

device        ex

device        ep

device        fe0          at isa? port 0x300

 

 

# Xircom Ethernet

device        xe

# PRISM I IEEE 802.11b wireless NIC.

device        awi

# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really

# exists only as a PCMCIA device, so there is no ISA attachment needed

# and resources will always be dynamically assigned by the pccard code.

device        wi

# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will

 

 

# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP

# mode (the factory default). If you set the switches on your ISA

# card for a manually chosen I/O address and IRQ, you must specify

# those parameters here.

device        an

# The probe order of these is presently determined by i386/isa/isa_compat.c.

device        ie0          at isa? port 0x300 irq 10 iomem 0xd0000

#device              le0          at isa? port 0x300 irq 5 iomem 0xd0000

device        lnc0         at isa? port 0x280 irq 10 drq 0

device        cs0          at isa? port 0x300

device        sn0          at isa? port 0x300 irq 10

 

 

 

# Pseudo devices - the number indicates how many units to allocate.

pseudo-device loop                       # Network loopback

pseudo-device ether                      # Ethernet support

pseudo-device sl           1            # Kernel SLIP

pseudo-device ppp          1            # Kernel PPP

pseudo-device tun                        # Packet tunnel.

pseudo-device pty                        # Pseudo-ttys (telnet etc)

pseudo-device md                         # Memory "disks"

pseudo-device gif                        # IPv6 and IPv4 tunneling

pseudo-device faith        1            # IPv6-to-IPv4 relaying (translation)

 

 

# The `bpf' pseudo-device enables the Berkeley Packet Filter.

# Be aware of the administrative consequences of enabling this!

pseudo-device bpf                        #Berkeley packet filter

 

 

# USB support

device        uhci                # UHCI PCI->USB interface

device        ohci                # OHCI PCI->USB interface

device        usb                 # USB Bus (required)

device        ugen                # Generic

device        uhid                # "Human Interface Devices"

device        ukbd                # Keyboard

device        ulpt                # Printer

device        umass               # Disks/Mass storage - Requires scbus and da

device        ums                 # Mouse

device        uscanner            # Scanners

device        urio                       # Diamond Rio MP3 Player

# USB Ethernet, requires mii

device        aue                 # ADMtek USB ethernet

device        cue                 # CATC USB ethernet

device        kue                 # Kawasaki LSI USB ethernet

 

 

 

====================

 

После исправлений конфигурационный файл может быть записан под именем TEST (большие буквы, без пробелов и символов) и иметь следующий вид (вычеркнуто ненужное на данном этапе):

 

 

 

 

 

 

#

# GENERIC -- Generic kernel configuration file for FreeBSD/i386

#

# For more information on this file, please read the handbook section on

# Kernel Configuration Files:

#

#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html

#

# The handbook is also available locally in /usr/share/doc/handbook

# if you've installed the doc distribution, otherwise always see the

# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the

# latest information.

#

# An exhaustive list of options and more detailed explanations of the

# device lines is also present in the ./LINT configuration file. If you are

# in doubt as to the purpose or necessity of a line, check first in LINT.

#

# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.48 2002/08/31 20:28:26 obrien Exp $

 

 

machine             i386

cpu           I386_CPU

cpu           I486_CPU

cpu           I586_CPU

cpu           I686_CPU

 

 

ident         GENERIC TEST

 

 

maxusers      0

 

 

#makeoptions  DEBUG=-g             #Build kernel with gdb(1) debug symbols

 

options       MATH_EMULATE         #Support for x87 emulation

options       INET                 #InterNETworking

options       INET6                #IPv6 communications protocols

options       FFS                  #Berkeley Fast Filesystem

options       FFS_ROOT             #FFS usable as root device [keep this!]

options       SOFTUPDATES          #Enable FFS soft updates support

options       UFS_DIRHASH          #Improve performance on big directories

options       MFS                  #Memory Filesystem

options       MD_ROOT                    #MD is a potential root device

options       NFS                  #Network Filesystem

options       NFS_ROOT             #NFS usable as root device, NFS required

options       MSDOSFS                    #MSDOS Filesystem

options       CD9660               #ISO 9660 Filesystem

options       CD9660_ROOT          #CD-ROM usable as root, CD9660 required

options       PROCFS               #Process filesystem

options       COMPAT_43             #Compatible with BSD 4.3 [KEEP THIS!]

options       SCSI_DELAY=15000 5000      #Delay (in ms) before probing SCSI

options       UCONSOLE             #Allow users to grab the console

options       USERCONFIG           #boot -c editor

options       VISUAL_USERCONFIG    #visual boot -c editor

options       KTRACE               #ktrace(1) support

options       SYSVSHM                     #SYSV-style shared memory

options       SYSVMSG                     #SYSV-style message queues

options       SYSVSEM                     #SYSV-style semaphores

options       P1003_1B             #Posix P1003_1B real-time extensions

options       _KPOSIX_PRIORITY_SCHEDULING

options              ICMP_BANDLIM         #Rate limit bad replies

options       KBD_INSTALL_CDEV     # install a CDEV entry in /dev

options              AHC_REG_PRETTY_PRINT # Print register bitfields in debug

                                    # output.  Adds ~128k to driver.

options              AHD_REG_PRETTY_PRINT # Print register bitfields in debug

                                    # output.  Adds ~215k to driver.

 

 

 

# To make an SMP kernel, the next two are needed

#options              SMP          # Symmetric MultiProcessor Kernel

#options              APIC_IO      # Symmetric (APIC) I/O

 

 

device               isa

device               eisa

device               pci

 

 

# Floppy drives

device               fdc0  at isa? port IO_FD1 irq 6 drq 2

device               fd0   at fdc0 drive 0

device               fd1   at fdc0 drive 1

#

# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,

# don't use the above line for fdc0 but the following one:

#device                            fdc0

 

 

# ATA and ATAPI devices

device               ata0  at isa? port IO_WD1 irq 14

device               ata1  at isa? port IO_WD2 irq 15

device               ata

device               atadisk      # ATA disk drives

device               atapicd      # ATAPI CDROM drives

device               atapifd      # ATAPI floppy drives

device               atapist      # ATAPI tape drives

options               ATA_STATIC_ID       #Static device numbering

 

 

# SCSI Controllers

device               ahb          # EISA AHA1742 family

device               ahc          # AHA2940 and onboard AIC7xxx devices

device               ahd          # AHA39320/29320 and onboard AIC79xx devices

device               amd          # AMD 53C974 (Tekram DC-390(T))

device               isp          # Qlogic family

device               mpt          # LSI-Logic MPT/Fusion

device               ncr          # NCR/Symbios Logic

device               sym          # NCR/Symbios Logic (newer chipsets)

options         SYM_SETUP_LP_PROBE_MAP=0x40     # Allow ncr to attach legacy NCR devices when

                                   # both sym and ncr are configured

 

device        adv0  at isa?

device        adw

device        bt0   at isa?

device        aha0  at isa?

device        aic0  at isa?

 

device        ncv                 # NCR 53C500

device        nsp                 # Workbit Ninja SCSI-3

device        stg                 # TMC 18C30/18C50

 

 

 

# SCSI peripherals

device        scbus               # SCSI bus (required)

device        da                  # Direct Access (disks)

device        sa                  # Sequential Access (tape etc)

device        cd                  # CD

device        pass                # Passthrough device (direct SCSI access)

 

 

# RAID controllers interfaced to the SCSI subsystem

device        asr          # DPT SmartRAID V, VI and Adaptec SCSI RAID

device        dpt          # DPT Smartcache - See LINT for options!

device        iir          # Intel Integrated RAID

device        mly          # Mylex AcceleRAID/eXtremeRAID

device        ciss         # Compaq SmartRAID 5* series

 

# RAID controllers

device        aac          # Adaptec FSA RAID, Dell PERC2/PERC3

device        aacp         # SCSI passthrough for aac (requires CAM)

device        ida          # Compaq Smart RAID

device        amr          # AMI MegaRAID

device        mlx          # Mylex DAC960 family

device        twe          # 3ware Escalade

 

 

# atkbdc0 controls both the keyboard and the PS/2 mouse

device        atkbdc0 at isa? port IO_KBD

device        atkbd0       at atkbdc? irq 1 flags 0x1

device        psm0  at atkbdc? irq 12

 

device        vga0  at isa?

 

 

# splash screen/screen saver

pseudo-device splash

 

 

# syscons is the default console driver, resembling an SCO console

device                      sc0          at isa? flags 0x100

 

 

 

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver

#device                            vt0          at isa?

#options       XSERVER              # support for X server on a vt console

#options       FAT_CURSOR          # start with block cursor

# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines

#options       PCVT_SCANSET=2      # IBM keyboards are non-std

 

 

 

# Floating point support - do not disable.

device          npx0        at nexus? port IO_NPX irq 13

 

 

 

# Power management support (see LINT for more options)

device        apm0 at nexus? disable flags 0x20 # Advanced Power Management

 

 

# PCCARD (PCMCIA) support

device        card

device        pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000

device        pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

 

 

# Serial (COM) ports

device        sio0  at isa? port IO_COM1 flags 0x10 irq 4

device        sio1  at isa? port IO_COM2 irq 3

device        sio2  at isa? disable port IO_COM3 irq 5

device        sio3  at isa? disable port IO_COM4 irq 9

 

 

# Parallel port

device        ppc0  at isa? irq 7

device        ppbus               # Parallel port bus (required)

device        lpt                 # Printer

device        plip                # TCP/IP over parallel

device        ppi                 # Parallel port interface device

#device              vpo                 # Requires scbus and da

 

 

# PCI Ethernet NICs.

device        de           # DEC/Intel DC21x4x (``Tulip'')

device        em           # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')

device        txp          # 3Com 3cR990 (``Typhoon'')

device        vx           # 3Com 3c590, 3c595 (``Vortex'')

 

 

# PCI Ethernet NICs that use the common MII bus controller code.

# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!

device        miibus              # MII bus support

device        dc           # DEC/Intel 21143 and various workalikes

device        fxp          # Intel EtherExpress PRO/100B (82557, 82558)

device        pcn           # AMD Am79C97x PCI 10/100 NICs

device        rl           # RealTek 8129/8139

device        sf           # Adaptec AIC-6915 (``Starfire'')

device        sis          # Silicon Integrated Systems SiS 900/SiS 7016

device        ste          # Sundance ST201 (D-Link DFE-550TX)

device        tl           # Texas Instruments ThunderLAN

device        tx           # SMC EtherPower II (83c170 ``EPIC'')

device        vr           # VIA Rhine, Rhine II

device        wb           # Winbond W89C840F

device        xl           # 3Com 3c90x (``Boomerang'', ``Cyclone'')

device        bge          # Broadcom BCM570x (``Tigon III'')

 

 

 

# ISA Ethernet NICs.

# 'device ed' requires 'device miibus'

device        ed0          at isa? port 0x280 irq 10 iomem 0xd8000

device        ex

device        ep

device        fe0          at isa? port 0x300

 

 

# Xircom Ethernet

device        xe

 

# PRISM I IEEE 802.11b wireless NIC.

device        awi

# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really

# exists only as a PCMCIA device, so there is no ISA attachment needed

# and resources will always be dynamically assigned by the pccard code.

device        wi

# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will

 

 

# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP

# mode (the factory default). If you set the switches on your ISA

# card for a manually chosen I/O address and IRQ, you must specify

# those parameters here.

device        an

 

# The probe order of these is presently determined by i386/isa/isa_compat.c.

device        ie0          at isa? port 0x300 irq 10 iomem 0xd0000

#device              le0          at isa? port 0x300 irq 5 iomem 0xd0000

device        lnc0         at isa? port 0x280 irq 10 drq 0

device        cs0          at isa? port 0x300

device        sn0          at isa? port 0x300 irq 10

 

 

 

# Pseudo devices - the number indicates how many units to allocate.

pseudo-device loop                       # Network loopback

pseudo-device ether                      # Ethernet support

pseudo-device sl           1            # Kernel SLIP

pseudo-device ppp          1            # Kernel PPP

pseudo-device tun                        # Packet tunnel.

pseudo-device pty                        # Pseudo-ttys (telnet etc)

pseudo-device md                         # Memory "disks"

pseudo-device gif                        # IPv6 and IPv4 tunneling

pseudo-device faith        1            # IPv6-to-IPv4 relaying (translation)

 

 

# The `bpf' pseudo-device enables the Berkeley Packet Filter.

# Be aware of the administrative consequences of enabling this!

pseudo-device bpf                        #Berkeley packet filter

 

 

# USB support

device        uhci                # UHCI PCI->USB interface

device        ohci                # OHCI PCI->USB interface

device        usb                 # USB Bus (required)

device        ugen                # Generic

device        uhid                # "Human Interface Devices"

device        ukbd                # Keyboard

device        ulpt                # Printer

device        umass               # Disks/Mass storage - Requires scbus and da

device        ums                 # Mouse

device        uscanner            # Scanners

device        urio                       # Diamond Rio MP3 Player

# USB Ethernet, requires mii

device        aue                 # ADMtek USB ethernet

device        cue                 # CATC USB ethernet

device        kue                 # Kawasaki LSI USB ethernet

 

 

 

Выполняем команды компиляции ядра:

 

/usr/sbin/configure <имя нового ядра>

cd ../../compile/<имя нового ядра>

make depend

make

make install

 

Для версии 5 - меняется только строчка в вышеприведенных командах

 

cd ../../compile/<имя нового ядра>

на

cd ../compile/<имя нового ядра>

 

 

 

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

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

 

Если при попытке перезагрузки система не грузится на стадии некорректности описания физических устройств:

 

Определите на каком устройстве система не грузится

 

На этапе вывода сообщения о выборе опций загрузки

 


 

Введите сдедующие команды

 

unload

load kernel.GENERIC

boot

 

Тем самым - загрузим старую работающую версию ядра.

В соответствии с проблемным найденным устройством - откорректировать конфигурационный файл TEST и перекомпилировать еще раз выполнив все команды компиляции как сказано выше.

 

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

5. Регистрация имени в интернет

 

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

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

            @Ваше_Имя.Имя_Провайдера.Город.Страна

- правильный для Вас, простой и дешевый

            @Ваше_Имя.Город.Страна

- более дорогие вариации:

            @Ваше_Имя.Страна

            @Ваше_Имя.COM.Страна

            @Ваше_Имя.NET.Страна

            и т.д.

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

Более точно о регистрации имени в интернет можно посмотреть на сервере http://www.whois.com.ua. и http://whois.ks.ua. На последнем сайте очень удачная опция - проверки правильности записи информации о домене и функция отправки заявки на регистрацию.

Дополнительно будет необходимым для регистрируемого доменного имени зарегистрировать как минимум 2 ник-хендла (администртивного имени для работы впоследствии с DNS) с реальными адресами и именами регистрации Вашей организации и Вашего системного администратора или человека, ответственного за компьютерное обеспечение организации (на тех же сайтах). Это необходимо для того, чтобы при любых взаимоотношениях с провайдером впоследствии Вам не доказывали что имя в интернет принадлежит не Вам а провайдеру. Обязательно необходимо на равных происывать ник-хендл организации для вариантов «системщик уволился и тут началось» - организация тоже должна иметь возможность работать с принадлежащим ей доменным именем. Вся переписка по поводу интернет-имени впоследствии ведется на основании регистрационных ник-хендлов. Обычно ник-хендл имеет вид <ИМЯ_ОРГ>-RIPE или <ИМЯ_ОРГ>-UANIC (для Украины). Соответствующие распечатки регистрационных данных в виде как минимум полной почтовой переписки (если это производилось провайдером) должны быть переданы Вам как результат выполнения работ.

 

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

 

 

domain: test.kiev.ua

Доменное имя: @Ваше_Имя.Город.Страна

descr: Test Company Co

Название Вашей организации, а не имя Вашего провайдера

admin-c: TST180-UANIC

Может быть Регистрационное имя организации

tech-c:ADM180-UANIC

Регистрационное имя администратора

nserver: ns.test.kiev.ua 213.186.187.188

Первый сервер имен

nserver: ns.music.com

Второй сервер имен

changed: adm180@test.com.ua 20021202

Кем и когда проведено последнее изменение

source: UANIC

Используемая база интернет-имен

 

 

nic-handle: TST180-UANIC

Регистрационное имя организации

address: 3, New str.

Адрес

phone: +380 44 222 2222

Телефон

e-mail: tst180@tst.kiev.ua

Почтовый адрес

changed: tst180@tst.kiev.ua 20010914

Кем и когда проведено последнее изменение

source: UANIC

Используемая база интернет-имен

 

 

nic-handle: ADM180-UANIC

Регистрационное имя администратора

person: Person Name

Имя администратора

address: 3, New str.

Адрес

phone: +380 44 222 2222

Телефон

e-mail: tst180@tst.kiev.ua

Почтовый адрес

changed: tst180@tst.kiev.ua 20010914

Кем и когда проведено последнее изменение

source: UANIC

Используемая база интернет-имен

 

 

 

 

 

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

 

 

5. Настройка и конфигурирование сервера после первоначальной установки

 

Итак, система установлена, терминал светится. Начинаем настраивать систему.

Возможны две схемы установки дополнительных пакетов - непосредственно с CD-ROM и из Интернет.  Если нет полного дистрибутива/набора  пакетов Вашей версии FreeBSD - мы предлагаем может и более длительную процедуру - установка из Интернет, но при этом выполняются некоторые достаточно полезные действия:

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

- для инсталлируемых пакетов берутся более свежие исправленные версии

- вносятся соответствующие корректировки в некоторые конфигурационные файлы.

При установке пакетов с CD-ROM - стандартный набор действий следующий:

Монтируем CD-ROM

mount /cdrom

Переходим в нужную директорию - или /cdrom/packages/All или /cdrom/packages/<имя раздела> или выбираем тот CD на котором находится нужнфый нам пакет.

Для выбранного пакета выполняются команды

pkg_add <имя_пакета.tar.gz>

 

Если в ответ на этуу вежливую просьбу Unix говорит - ссчто ему чего-то не хватает - то соответственно необходимо абсолютно аналогично доставить «этого не хватающего» и все тогда установится нормально.

 

При установке пакетов из Интернет - действия следующие:

Переходим в нужную директорию или /usr/packages/<имя раздела>/<имя пакета>. Если имя раздела неизвестно - то на http://www.freebsd.org в разделе Ported Applications задать необходимое имя и потом прочитать - там все будет нписано.

Для выбранного пакета выполняются команды

make

make install

 

Собственно конфигурирование сервера:

 

 

Общая структура конфигурации FreeBSD находится в директориях /etc и /usr/local/etc и обычно для директории /etc имеет вид:

---------------------

 

drwxr-xr-x  2 root  wheel         512 Oct  9 15:42 X11

drwxr-xr-x  2 root  wheel         512 Feb  7 13:38 defaults

drwxr-xr-x  2 root  wheel         512 Feb  6 22:02 gnats

drwx------  2 root  wheel         512 Feb  6 22:02 isdn

drwxr-xr-x  2 root  wheel         512 Oct  9 15:42 kerberosIV

drwxr-xr-x  2 root  wheel         512 Feb  7 10:42 mail

drwxr-xr-x  2 root  wheel         512 Feb  6 22:02 mtree

drwxr-xr-x  2 root  wheel         512 Feb  6 22:02 namedb

drwxr-xr-x  6 root  wheel         512 Oct  9 15:42 periodic

drwxr-xr-x  2 root  wheel         512 Feb  6 22:02 ppp

drwxr-xr-x  2 root  wheel         512 Feb  7 12:41 ssh

drwxr-xr-x  2 root  wheel         512 Feb  6 22:02 ssl

drwxr-xr-x  2 root  wheel         512 Oct  9 15:42 skel

drwxr-x---  2 uucp  uucp          512 Feb  6 22:02 uucp

-rw-r--r--  1 root  wheel           0 Feb  7 10:45 a

-rw-r--r--  1 root  wheel        1480 Feb  7 12:54 adduser.conf

-rw-r--r--  1 root  wheel         301 Feb  7 12:54 adduser.message

lrwxr-xr-x  1 root  wheel          12 Feb  7 09:59 aliases -> mail/aliases

-rw-r--r--  1 root  wheel         208 Oct  9 15:46 amd.map

-rw-r--r--  1 root  wheel        1167 Oct  9 15:46 apmd.conf

-rw-r--r--  1 root  wheel         272 Oct  9 15:46 auth.conf

-rw-r--r--  1 root  wheel         637 Oct  9 15:46 crontab

-rw-r--r--  1 root  wheel         108 Oct  9 15:46 csh.cshrc

-rw-r--r--  1 root  wheel         486 Oct  9 15:46 csh.login

-rw-r--r--  1 root  wheel         110 Oct  9 15:46 csh.logout

-rw-r--r--  1 root  wheel         271 Oct  9 15:46 dhclient.conf

-rw-r--r--  1 root  wheel        6990 Oct  9 15:46 disktab

-rw-r--r--  1 root  wheel         478 Oct  9 15:46 dm.conf

-rw-r--r--  1 root  operator        0 Oct  9 15:46 dumpdates

-rw-r--r--  1 root  wheel     1249280 Feb  7 11:57 etc.tar

-rw-r--r--  1 root  wheel         142 Oct  9 15:46 fbtab

-rw-r--r--  1 root  wheel         403 Feb  6 22:02 fstab

-rw-r--r--  1 root  wheel         237 Oct  9 15:46 ftpusers

-rw-r--r--  1 root  wheel        6030 Oct  9 15:46 gettytab

-rw-r--r--  1 root  wheel         399 Feb  7 12:55 group

-rw-r--r--  1 root  wheel         387 Oct  9 15:46 group.bak

-rw-r--r--  1 root  wheel         205 Oct  9 15:46 host.conf

-rw-r--r--  1 root  wheel         128 Feb  7 13:39 hosts

-rw-r--r--  1 root  wheel        3027 Oct  9 15:46 hosts.allow

-rw-r--r--  1 root  wheel         111 Oct  9 15:46 hosts.equiv

-rw-r--r--  1 root  wheel          99 Oct  9 15:46 hosts.lpd

-rw-r--r--  1 root  wheel        5174 Feb  7 13:53 inetd.conf

-rw-------  1 root  wheel        5175 Feb  7 13:53 inetd.conf.b

-rw-r--r--  1 root  wheel         619 Oct  9 15:46 locate.rc

-rw-r--r--  1 root  wheel        1850 Oct  9 15:46 login.access

-rw-r--r--  1 root  wheel        6525 Oct  9 15:46 login.conf

-rw-r--r--  1 root  wheel         106 Oct  9 15:46 mail.rc

-rw-r--r--  1 root  wheel         930 Oct  9 15:46 manpath.config

-rw-------  1 root  wheel        1298 Feb  7 12:55 master.passwd

-rw-r--r--  1 root  wheel        1484 Oct  9 15:46 modems

-rw-r--r--  1 root  wheel        1112 Feb  7 12:41 motd

-rwxr-xr-x  1 root  wheel        2429 Oct  9 15:46 netstart

-rw-r--r--  1 root  wheel         365 Oct  9 15:46 networks

-rw-r--r--  1 root  wheel        1300 Oct  9 15:46 newsyslog.conf

-rw-------  1 root  wheel        1603 Oct  9 15:46 nsmb.conf

-rw-r--r--  1 root  wheel          14 Oct  9 15:47 objformat

-rw-------  1 root  wheel         436 Oct  9 15:46 opieaccess

-rw-r--r--  1 root  wheel           0 Feb  7 12:54 opiekeys

-rw-r--r--  1 root  wheel        4556 Oct  9 15:46 pam.conf

-rw-r--r--  1 root  wheel        1153 Feb  7 12:55 passwd

-rwxr-xr-x  1 root  wheel        3774 Oct  9 15:46 pccard_ether

-rw-r--r--  1 root  wheel         293 Oct  9 15:46 phones

-rw-r--r--  1 root  wheel        2042 Oct  9 15:46 printcap

-rw-r--r--  1 root  wheel         623 Oct  9 15:46 profile

-rw-r--r--  1 root  wheel        5752 Oct  9 15:46 protocols

-rw-r--r--  1 root  wheel       40960 Feb  7 12:55 pwd.db

-rw-r--r--  1 root  wheel       16362 Oct  9 15:46 rc

-rw-r--r--  1 root  wheel        4906 Oct  9 15:46 rc.atm

-rw-r--r--  1 root  wheel         653 Feb  7 13:39 rc.conf

-rw-r--r--  1 root  wheel        4687 Oct  9 15:46 rc.diskless1

-rw-r--r--  1 root  wheel        3343 Oct  9 15:46 rc.diskless2

-rw-r--r--  1 root  wheel        9572 Oct  9 15:46 rc.firewall

-rw-r--r--  1 root  wheel        8818 Oct  9 15:46 rc.firewall6

-rw-r--r--  1 root  wheel        1039 Oct  9 15:46 rc.i386

-rw-r--r--  1 root  wheel        2708 Oct  9 15:46 rc.isdn

-rw-r--r--  1 root  wheel       18710 Oct  9 15:46 rc.network

-rw-r--r--  1 root  wheel       12473 Oct  9 15:46 rc.network6

-rw-r--r--  1 root  wheel        1967 Oct  9 15:46 rc.pccard

-rwxr-xr-x  1 root  wheel        1891 Oct  9 15:46 rc.resume

-rw-r--r--  1 root  wheel        4572 Oct  9 15:46 rc.sendmail

-rw-r--r--  1 root  wheel        4831 Oct  9 15:46 rc.serial

-rw-r--r--  1 root  wheel        3108 Oct  9 15:46 rc.shutdown

-rwxr-xr-x  1 root  wheel        1898 Oct  9 15:46 rc.suspend

-rw-r--r--  1 root  wheel        3928 Oct  9 15:46 rc.syscons

-rw-r--r--  1 root  wheel        1898 Oct  9 15:46 rc.sysctl

-rw-r--r--  1 root  wheel        1712 Oct  9 15:46 remote

-rw-r--r--  1 root  wheel          50 Feb  7 13:39 resolv.conf

lrwxr-xr-x  1 root  wheel          13 Feb  7 09:59 rmt -> /usr/sbin/rmt

-rw-r--r--  1 root  wheel        1677 Oct  9 15:46 rpc

-rw-r--r--  1 root  wheel       72582 Oct  9 15:46 services

-rw-r--r--  1 root  wheel         223 Oct  9 15:46 shells

-rw-------  1 root  wheel           0 Feb  7 12:54 skeykeys

-rw-------  1 root  wheel       40960 Feb  7 12:55 spwd.db

-rw-r--r--  1 root  wheel         228 Oct  9 15:46 sysctl.conf

-rw-r--r--  1 root  wheel        1259 Oct  9 15:46 syslog.conf

lrwxr-xr-x  1 root  wheel          23 Feb  7 09:59 termcap -> /usr/share/misc/termcap

-rw-r--r--  1 root  wheel        7462 Oct  9 15:46 ttys

-rw-r--r--  1 root  wheel        1568 Oct  9 15:46 usbd.conf

---------------------

 

Обеспечиваем разрешение имен, создаем файл

resolv.conf

Самый простой метод - копируем любой короткий файл под новым именем resolv.conf и потом редактируем:

 

------------

domain            test.kiev.ua

Имя домена

nameserver        212.93.183.67

Адрес сервера имен, предоставленный провайдером

-------------------

Sendmail

 

 

Задачу поставим сразу чуть сложнее стандартной:

 

- Настроить почтовый сервер на FreeBSD чтобы клиенты могли работать с ним по

  протоколам pop3, smtp (то есть забирать почту клиентами The Bat, Outlook и т.п.). - пакет QPOP

 

- Сервер должен обслуживать почту 3 доменов причем пользователи должны иметь

  одноименную почту в разных доменах т.е. (user@domain.ru user @mail.domain.ru

  user @domain2.ru должен быть одним и тем же пользователем и почта для него

 должна складываться в один ящик.)  - /etc/mail/virtusertable

 

 

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

  себя почту этих  3-х доменов в случае выхода из строя основного сервера и

  затем пересылать почту на основной сервер когда восстановится основной сервер. - MX записи в DNS и согласование с провайдером о приеме Вашей почты в случае недоступности вашего почтового сервера.

 

- Доступ к серверу должен осуществляться только с определенных адресов

  (локальная сеть офиса) как для отправки так и для приема почты. - настройка Firewall. Зачем ? Блокировка в офисе 25 порта для доступе наружу с адресов клиентов - защита от результатов работы MailWare. В общем случае зараженная машина пытается отправить почту по 25 порту непосредственно в Интернет не через ваш известный системе почтовый сервер. Обломаем немного такую халяву.

 

 

- Пользователь хочет получать предназначенную для него почту не только с сервера, а и с каких-то других серверов в Интернет на время своего отсутствия в офисе (вплоть до получения как SMS) - файл Алиасов

 

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

 

- защита от СПАМа

           

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

 

Защита от СПАМА

 

Наиболее простой способ защиты от СПАМА - создание файла access и добавление соответствующих записей в этот файл по мере получения рассылок пользователями. Весьма кропотливая работа, эффективная для особенно упорных "канадских компаний". На сегодняшний день такой подход может помочь исключительно в случае если вы пытаетесь не принять почту от известного Вашего кредитора - его адрес известен, что от него ждать - тоже знаем. Нас нет. Во всех остальных случаях индустрия СПАМА набрала такие обороты, что простых методов лечения не предвидится. Об этом - в другой статье на http://iasb.narod.ru.

 

Простейшее решение:

 

Составление файла access и компиляция баз.

 

Sendmail работает не с тектовым файлом, а с базой. Пишется текстовый файл, потом определенной омандой из него генерируется база.  База Access: записями в этой базе ограничивается доступ с определенных доменов - подарок для особо достающим спаммерам

 

 

 

/etc/mail/access

 

localhost.localdomain   RELAY

localhost               RELAY

cyberspammer.com                         550 We don't accept mail from spammers

FREE.STEALTH.MAILER@                     550 We don't accept mail from spammers

another.source.of.spam                          REJECT

okay.cyberspammer.com                           OK

128.32                                    RELAY

spamsite.com                             REJECT

uni12.ru               RELAY

uni12.ac.ru            RELAY

193.215.78              RELAY

informs12.ru        RELAY

spamfriend.org     REJECT

goodfriends.org   DISCARD

 

После корректировки вручную файла access пересоздаем базу:

 

#makemap hash access.db < access

 

Удобно создать файл типа:

 

 

#! /bin/sh

makemap hash /etc/mail/access.db < /etc/mail/access

 

с соответствующими атрибутами запуска для упрощения набора соответствующих комманд.

 

Опции обозначают следующее:

 

RELAY - согласиться и работать сс этой почтой

REJECT - отказывать и вежливо ссообщать об отказе

DISCARD - отказывать и даже не говорить об отказе (в глухую)

 

 

или вносим  соответствующие записи прямо через Webmin.

 

Более сложный и жесткий вариант антиспамовской защиты - подключение публичных баз данных. Это требует перегенерации онфигурационного файла Sendmail.

 

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

 

FEATURE(dnsbl)dnl

FEATURE(`dnsbl',`dnsbl.njabl.org',`"SPAM - njabl.org"')dnl

FEATURE(`dnsbl',`inputs.orbz.org',`"SPAM - orbz.org"')dnl

FEATURE(`dnsbl',`bl.spamcop.net',`"SPAM - spamcop.net"')dnl

FEATURE(`dnsbl',`ex.dnsbl.org',`"SPAM - dnsbl.org"')dnl

FEATURE(`dnsbl',`relays.osirusoft.com',`"SPAM - osirusoft.com"')dnl

MAILER(local)dnl

MAILER(smtp)dnl

 

Рекомендуется именно добавлять строки (может даже и последовательно) к компилируемому файлу sendmail.mc во избежание ошибочности восприятия пробелов или служебных символов. Так проще отловить вносимую ошибку.

 

 

Генерирование конфигурационного файла sendmail.cf из sendmail.mc

 

 

#m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf  - это прямое получение .cf  файла.

 

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

 

#m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.GEN

 

Потом из sendmail.GEN вырезаются строки относящиеся к SPAM блокировке и этот кусок вставляется в работающий sendmail.cf. Опять перезапускаем sendmail.

 

Будьте внимательны - если подобный публичный сервер не работает - блокируется ВСЯ ваша почта.

 

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

 

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

Б) не такие глупые спаммеры, чтобы писать стандартные рекламные заголовки - за ними не угонишься

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

 

 

Некоторые необходимые для работы Sendmail дополнительные элементы:

 

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

почта сервером.

 

/etc/mail/local-host-names

uni12.ru

data.uni12.ru

system.uni12.ac.ru

 

Составление файла с описанием доменов для которых допускается транзитная (через Вас) отправка. Сюда может потребоваться внесение имен внутренних SMTP серверов типа MS Exchange, WinRoute или Lotus Notes

 

/etc/mail/relay-domains

mx121.uni121.ru

mx121.uni121.ac.ru

 

 

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

 

/etc/mail/virtusertable

@iaea.org       %1@iaea.or.at

 

может возникнуть второй случай - ваша сеть видна под именем нескольких доменов:

 

/etc/mail/virtusertable

@uni12.ru              %1@domainfullname.ru

@uni121.ru            %1@domainfullname.ru

 

после чего

 

#makemap hash virtusertable.db < virtusertable >

 

 

Также может понадобиться несколько пустых баз:

 

#ee mailertable 

#makemap hash mailertable.db < mailertable

#ee domaintable

#makemap hash domaintable.db < domaintable

 

 

На этом конфигурирование почтового сервера закончена. Перезагружаю сервер и

смотрю что из этого получилось.

 

------------------------------------

 

Типовые файлы конфигурации

--------------

bash-2.03# ls -l

total 636

-rw-r--r--  1 root  wheel       764 Mar  5  2001 Makefile

-rw-r--r--  1 root  wheel       849 Mar  5  2001 README

-rw-r--r--  1 root  wheel     51480 Jul 28 08:53 access

-rw-r--r--  1 root  wheel     81920 Jul 28 08:53 access.db

-rw-r--r--  1 root  wheel       339 Mar  5  2001 access.sample

-rw-r--r--  1 root  wheel      4425 Jul 23 12:27 aliases

-rw-r--r--  1 root  wheel     32768 Jul 23 12:27 aliases.db

-r--r--r--  1 bin   bin        5580 Mar  5  2001 helpfile

-rw-r--r--  1 root  wheel       131 Mar 25  2002 local-host-names

-rw-r--r--  1 root  wheel       316 Mar  5  2001 mailer.conf

-rw-r--r--  1 root  wheel       651 Jul 23 12:03 mailertable

-rw-r--r--  1 root  wheel     32768 Jul 23 12:03 mailertable.db

-rw-r--r--  1 root  wheel       172 Mar  5  2001 mailertable.sample

-rw-r--r--  1 root  wheel       317 Apr 22 11:18 relay-domains

-rw-r--r--  1 root  wheel     47542 Jul 23 15:26 sendmail.cf

-rw-r--r--  1 root  wheel     47931 Jul 23 10:10 sendmail.cf11

-rw-r--r--  1 root  wheel       182 Mar 29  2002 sendmail.cw

-rw-r--r--  1 root  wheel     57105 Jul 22 15:35 sendmail.dns

-rw-r--r--  1 root  bin           0 Mar  5  2001 statistics

-rw-r--r--  1 root  wheel       248 May 20  2002 virtualusertable

-rw-r--r--  1 root  wheel     32768 May 20  2002 virtualusertable.db

-rw-r--r--  1 root  wheel       494 Mar  5  2001 virtusertable.sample

-----------------------

 

Файлы sendmail.cf11 и sendmail.dns получены командами

 

#m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf11

#m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.dns

 

для сравнения с файлом sendmail.cf в целях более полного понимания процесса конфигурирования. После этого файл sendmail.cf11 (или sendmail.dns) был переименован в sendmail.cf и sendmail был перегружен для считтывания новой конфигурации).

 

 

Переадресация почты

 

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

/etc/mail/aliases

 

user1:        user1@server1_intranet.domain.ru

 

user2:        user2@server2_DMZ.domain.ru

 

user3=FAX    user1@server1_intranet.domain.ru,

             user2@server2_DMZ.domain.ru

 

user4=Info  user1@server1_intranet.domain.ru,

              user2@server2_DMZ.domain.ru,

              898435145@sms.mts.ru

 

То есть через запятую набираем полный набор того что требуется.

 

 

# $FreeBSD: src/etc/aliases,v 1.8.2.2 1999/08/29 14:18:37 peter Exp $

#       @(#)aliases     5.3 (Berkeley) 5/24/90

#

#  Aliases in this file will NOT be expanded in the header from

#  Mail, but WILL be visible over networks.

#

#       >>>>>>>>>>      The program "newaliases" must be run after

#       >> NOTE >>      this file is updated for any changes to

#       >>>>>>>>>>      show through to sendmail.

#

#

# See also RFC 2142, `MAILBOX NAMES FOR COMMON SERVICES, ROLES

# AND FUNCTIONS', May 1997

 

# Pretty much everything else in this file points to "root", so

# you would do well in either reading roots mailbox or forwarding

# roots email from here.

 

# root: me@my.domain

 

# Basic system aliases -- these MUST be present

MAILER-DAEMON: postmaster

postmaster: root

 

 

# General redirections for pseudo accounts

bin:   root

daemon:        root

nobody:        root

operator: root

root:           admin@mailserver.test.kiev.ua

galina:        galina@mailserver.test.kiev.ua,

                    galina@yahoo.com         

admin:       admin @mailserver.test.kiev.ua

 

После завершения редактирования - команда перестройки базы данных алиасов newaliases

 

Антивирусная защита

 

Это простейший вариант. Более детально система с большими функциональными возможностями рассматривается на http://iasb.narod.ru

 

Антивирусную защиту почтовой пересылки проще всего построить используя антивирусный пакет от McAfee (uvscan) - можно найти через Yahoo, но опять следует отметить, что это возможно только при нормальном подключении к интернет. В противно случае, необходимо как минимум иметь инсталлированными на вашем сервере следующие пакеты, в основном относящиеся к Perl:

 

/ports/archivers/p5-Archive-Tar-0.22.tar.gz

/ports/archivers/p5-Archive-Zip-1.05.tar.gz

/ports/archivers/p5-Compress-Zlib-1.16.tar.gz

/ports/converters/p5-Convert-TNEF-0.17.tar.gz

/ports/converters/p5-Convert-UUlib-0.213.tar.gz

/usr/ports/devel/p5-File-Spec-0.82.tar.gz

/usr/ports/devel/p5-IO-stringy-2.108.tar.gz

MIME-Base64-2.12.tar.gz

MIME-tools-5.411a.tar.gz

MailTools-1.48.tar.gz

/usr/ports/sysutils/p5-Unix-Syslog-0.100.tar.gz

/usr/ports/security/amavis-perl-11.tar.gz

libnet-1.11.tar.gz

unrarsrc.tar.gz

lha-114i.tar.gz

unarj-2.43.tgz

zoo-2.10pl1.tar.gz

arc521e.pl8.tar.Z

 

Ставим Perl версии 5.6 или посвежее

 

Ставим McAfee UvScan

Если возникают проблемы с запуском UvScan - через /stand/sysinstall или напрямую с инсталяционного CD инсталируйте поддержку /compat3X (и /compat3X для FreeBSD-5)

 

Обновляем антивирусную базу с www.nai.com - обычно это файл типа dat4ХXX.tgz

 

При возникновении проблем с установкой архиватора rar - с сайта ftp.rarla.com берем скомпилированный для FreeBSD полный пакет rar (rarbsd-3.1.1.tar.gz), который и устанавливаем.

 

Заходим в директорию /usr/ports/security/amavis-perl и даем магические команды

 

make

make install

 

 

После завершения установки пакета - корректируем /etc/mail/sendmail.cf как это сказано в

 

/usr/ports/security/amavis-perl/work/amavis-perl-11/README.sendmail, а именно:

 

меняем запись:

 

 

Mlocal, P=/bin/mail.local, F=lsDFMAw5:/|@qrmn9, S=10/30, R=20/40,

        T=DNS/RFC822/X-Unix,

        A=mail -d $u

 

На:

 

Mlocal, P=/usr/sbin/amavis, F=lsDFMAw5:/|@qrn9, S=10/30, R=20/40,

        T=DNS/RFC822/X-Unix,

        A=amavis $f $u /bin/mail.local -d $u

 

 

Или что-то близкое к этому в соответствии с имеющейся записью в sendmail.cf.

 

При использовании McAfee (и других антивирусов в том числе) необходимо обратить внимание на планируемую Вами схему использования антивируса:

Обычно при инсталляции McAfee зараженную почту не лечит, вежливо информируя отправившего что его почта заражена. Для изменения этого в соответствующей строке /usr/local/sbin/amavis необходимо добавить ключ --clean и при этом будет производиться очистка соответствующих почтовых пакетов.

 Как и в предыдущем случае все завершается перезагрузкой sendmail для считывания новой конфигурации.

 

 

Qpop3

 

Для вариантов построения сервера с чтением почты клиентами непосредственно с этого сервера необходимо установить сервер Qpop3.

Для этого в директории /usr/ports/mail/qpopper

Даем следующие команды:

make

make install

 

Добавляем строку в /etc/inetd.conf

 

Pop3       stream tcp nowait root /usr/local/libexec/qpopper qpopper

 

Анализ активности

 

Анализ активности Sendmail удобно производить ежесуточно с помощью программ анализа отчетов sendmail. Одна из программ описана на http://www.saunalahti.fi/~jt2/sma/ и без проблем или ставится или уже портированной или компилируется из исходников. Подключение программы для генерации суточных отчетов описано в разделе "Отчетность".

 

           

 

Безопасность

 

Начнем повышение уровня безопасности с увеличения "истории" файлов отчетов изменяя файл /etc/newsyslog.conf. В окончательном виде он может выглядеть следующим образом:

 

=================

# configuration file for newsyslog

# $FreeBSD: src/etc/newsyslog.conf,v 1.25.2.10 2002/05/24 15:40:09 gshapiro Exp $

#

# Note: some sites will want to select more restrictive protections than the

# defaults.  In particular, it may be desirable to switch many of the 644

# entries to 640 or 600.  For example, some sites will consider the

# contents of maillog, messages, and lpd-errs to be confidential.  In the

# future, these defaults may change to more conservative ones.

#

# logfilename        [owner:group]    mode count size when [ZJB] [/pid_file] [sig_num]

/var/log/cron                             600  3     100      *     Z

/var/log/amd.log                   644  7     100      *     Z

/var/log/auth.log                  600  50    100      *     Z

/var/log/kerberos.log                    600  7     100      *     Z

/var/log/lpd-errs                 644  7     100      *     Z

/var/log/maillog                   640  700   *       @T00  Z

/var/log/sendmail.st               640  700   *        168   B

/var/log/messages                  644  200   100      *     Z

/var/log/all.log                   600  7     *        @T00  Z

/var/log/slip.log    root:network 640  3     100      *     Z

/var/log/ppp.log     root:network 640  3     100      *     Z

/var/log/security                  600  10    100      *     Z

/var/log/wtmp                      644  3     *        @01T05 B

/var/log/daily.log                640  7     *        @T00  Z

/var/log/weekly.log               640  5     1        $W6D0 Z

/var/log/monthly.log              640  12    *        $M1D0 Z

/var/log/console.log              600  5     100      *     Z

==========================

 

 

DNS

 

  

 

Встроенные FreeBSD dns демон называется 'named' и является частью стандартной инсталляции FreeBSD. Директория '/etc/namedb' или ссылка на эту директорию - это место, где named ищет конфигурационные файлы и файлы зон.

 

Схема нашей работы следующая - мы должны установить Primary зону на своем сервере, самостоятельно (бесплатно) или с помощью провайдера (за денюжку) дать за явку в зону города на делегацию имени. Зарегистрировать вторичные зоны на secondary. Для Украины это можно сделать на http://secondary.net.ua.

Все эти рассуждения имеют смысл только в случае получения реального Интернет адреса от провайдера.

Все настройки очень удобно делать через Webmin. Для большинства простейших вариантов - его более чем достаточно. В случае если есть острая необходимость для внутренних сетей добавить разрешение имен, а) особо не разглашая реальных имен внутренних машин и б) если сервер в то же самое время является внутренним гейтвеем сети в) сетей и машин несколько - можно поставить автоматическую генерацию преобразования PTR:

 

Что-то в таком духе - это делегирование обратной зоны для 192.168.11.0/24

 

 

$ttl 6D

11.168.192.in-addr.arpa.        IN      SOA     gw.rabbit.com.ua. root. rabbit.com.ua. (

                        1115318010

                        4H

                        2H

                        4W

                        14D )

11.168.192.in-addr.arpa.        IN      NS      gw.rabbit.com.ua.

11.11.168.192.in-addr.arpa.     IN      PTR     gw84-int.rabbit.com.ua.

7.11.168.192.in-addr.arpa.      IN      PTR     vm.rabbit.com.ua.

9.11.168.192.in-addr.arpa.      IN      PTR     gw-int.rabbit.com.ua.

$generate 12-250 $ PTR h-11-$. rabbit.com.ua.   ;host 11-$

 

Для хостов 7, 9 и 11 - реальные имена, для остальных хостов - вида h-11-12.rabbit.com.ua

 

  

Firewall

 

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

 

Как это делается компилируем в ядре поддержку Firewall  - это лучше всего расписано во FreeBSD HandBOOK. В кратком варианте - http://iasb.narod.ru - статья по анти-СПАМ защите. Самое начало.

При перекомпиляции Kernel туда надо добавить

 

options FIREWALL

 

В файле

/etc/defaults/rc.conf

 

Правим имеющиеся строки до получения следующего:

 

firewall_enable="YES"           # Set to YES to enable firewall functionality

firewall_script="/etc/rc.firewall" # Which script to run to set up the firewall

firewall_type="CLIENT"              # Firewall type (see /etc/rc.firewall)

 

 

Ищем в /etc/rc.firewall

 

Запись относящуюся к [CcLlIlEeNnT] - она примерно так и пишется и после нее добавляем в нужном месте примерно следующий набор. Ed0  в данном случае - наш внешний интерфейс.

 

 

${fwcmd} add deny tcp from any to any 21 in via ed0

${fwcmd} add deny tcp from any to any 23 in via ed0

${fwcmd} add deny tcp from any to any 80 in via ed0

${fwcmd} add deny tcp from any to any 110 in via ed0

${fwcmd} add deny tcp from any to any 111 in via ed0

${fwcmd} add deny tcp from any to any 131 in via ed0

${fwcmd} add deny tcp from any to any 138 in via ed0

${fwcmd} add deny tcp from any to any 139 in via ed0

${fwcmd} add deny tcp from any to any 143 in via ed0

${fwcmd} add deny tcp from any to any 520 in via ed0

${fwcmd} add deny tcp from any to any 635 in via ed0

${fwcmd} add deny tcp from any to any 1080 in via ed0

${fwcmd} add deny tcp from any to any 3128 in via ed0

 

 

 

Это примерно и все конфигурирование сервера.

 

Ваши дальнейшие действия - инсталляция SQUID - это прокси-сервер. Конфигурировать его можно из Webmin. Основная защита - закрыть его с наружной стороны. Хотя на сегодня может быть лушее решение - это NAT. Теоретически SQUID имеет смысл при дохлом внешнем канале и то это еще вопрос - а так ли это в практике сети на 10 компьютеров. Со сквидом связан другой вопрос - есть варианты его конфигурирования при которые весь трафик пропускается через антивирусную систему, но тоже вопрос - надо ли. Microsoft AntiSpyWare - весьма достойная замена подобному извращению.

 

Для больших детализаций - очень полезно смотреть раздел статьи на http://www.opennet.ru. Там можно найти практически все. Самое удачное - по большей части с комментариями и вариациями подходов и применений.

Чрезвычайно хороший документ - можно его найти через Гугл - Securing and optimizing Linux - объем - под 500 страниц - хоть и на английском и хоть для Линукса - интуитивно его можно понять даже не очень разбираясь в английском - там очень ясные указания с очень хорошо расписанными примерами. Практически охват всех вопросов. Но в первую очередь - FreeBSD Handbook. Это отличное общее описание, к сожалению с достаточно скромным подходом по взаимосвязям различных подсистем и сервисов и вариаций конфигурации подсистем. Надо знать по названиям подсистем - чего хочешь найти и реальная и очень эффективная помощь - в двух случаях - как учебник для начинающих изучать FreeBSD и студентов - обшее детальное руководство и хорошее справочное руководство по системе. Отношение к Маннам. Ох. Да. Без них - никуда. Надо читать. Может быть. Исколючительно если забыл какой-то изысканный ключик. Не более. Описано все, но мы не сдаем экзамены перед преподавателем а нам нужны эффективные описания с разъяснением чуть шире чем относится исключительно к открытой на определенной странице описания конкретной команде. Там этого вобщем-то нет. Это узкоспециализированный справочник. Отдельно по каждой команде. Очень часто - настолько сложно даже в английском написано что понять однозначно не всегда представляется возможным. В этом плане хороший пример сравнения - некоторые издания Библии. В некоторых изданиях там на каждое вновь упоминаемое событие по тексту идет ссылка на целую главу, которая описывает детально упоминаемое событие. Этого подхода в Манах, к сожалению, нет и близко.

 

 

 



Используются технологии uCoz