В индустрии Информационных Технологий как во всех других видах деятельности существует разделение на руководителей и исполнителей. Представляемые материалы предназначены как для руководителей (главы относящиеся к политике и безопасности) и для исполнителей (технические главы). Все объединено ввиду сложности области деятельности ИТ. Как руководитель должен понимать, что политику необходимо определять задолго до ее реализации, так и исполнитель должен понимать как реализовать технически поставленные задачи и основные причины их возникновения. Очень полезным в данном случае будет такое совместное видение руководителем сложность решения технических деталей и исполнителем обоснованность выдвигаемых требований. Дополнительно ко всему все должно рассматриваться с точками зрения целесообразности вложения средств как в оборудование, так и в программное обеспечение и последующее обслуживание. Заведомо не указываются главы, предназначенные для руководителей и исполнителей, так как обучение - дело добровольное. Только собственные усилия могут приносить какие-то плоды и в этом очень многое зависит от широты понимания вопросов и круга интересов. В целом, наша цель - дать общую информацию для понимания ситуации и точные указания в основных деталях.
В дополнении следует заметить, что данная книга не является учебником работы с Unix и не заменяет классических книг по администрированию. Обсуждаемые вопросы представлены в таком порядке, чтобы не бросаясь со стороны в сторону и не отвлекаясь на решение второстепенных вопросов последовательно выполняя описанные в данной книге шаг за шагом действия получить после приложения определенных усилий рабочий сервер с конфигурацией, проверенной во многих инсталляциях многих организаций. Различия по размеру обслуживаемой сети будут только в мощности применяемого серверного оборудования и повторяемости написания правил или конфигураций. Логическая схема построения и конфигурирование останется в основном неизменной.
Цель данного руководства - показать на примерах технологию подключения к интернет, организация почтовых и интернет служб для небольшого офиса. Решения, предлагаемые здесь могут также быть полезными и для больших организаций при соблюдении определенных условий выбора оборудования и общей конфигурации сети. Исходно предполагается, что в офисе уже налажена какая-то внутренняя сеть и при подключении к интернет не ставится первоочередной задача подсчета трафика и установления диктатуры. Если Вы пользуетесь электронной почтой дозваниваясь к провайдеру и хотите поменять данный вид подключения на что-то более надежное то целесообразно рассмотреть возможность подключения в виде постоянного 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 минут - непозволительно много. В этом случае необходимо решать вопросы по установке кластеров.
Учитывая, что сегодня офис может быть территориально разнесен на большие расстояния, иногда целесообразно построение распределенных сетей, которые позволяют работать в разных офисах используя единые информационные ресурсы. Мы рассматриваем в данном случае соединение офис-офис, то есть группа компьютеров - группа компьютеров. Мы не касаемся рассмотрения деталей конфигурации системы для безопасного соединения одинокого сотрудника из дальней командировки с офисной сетью. Также здесь не рассматриваются вопросы построения «закрытых».
Решения могут быть как предоставлены как провайдером, так и выполнены самостоятельно. Разница будет только в том, что при самостоятельном подключении - вы можете выбирать различных провайдеров и не иметь дополнительных расходов на организацию Вашей внутренней сети силами провайдера.
В окончательном виде сетевое окружение на Вашей системе будет представлено так, как будто вы находитесь в единой системе одного большого офиса.
Примером данного соединения может быть центральный офис организации и постоянно работающий филиал в другом конце города или в другом регионе. Единственным ограничением может быть только надежность и быстродействие канала связи между офисами.
Как ранее отмечалось, можно подключить Вашу сеть с использованием одного единственного сервера. Это действительно проще с точки зрения размещения единственного ящика в офисе, но значительно сложнее с точки зрения уверенности в поддержании должного уровня безопасности.
Единственный сервер в этом случае будет выполнять функции как системы защита так и предоставлять сервисы для внутренних пользователей. Предполагается, что внутренняя сеть в офисе существует, соответственно возможно несколько вариантов построения сети:
1. Простейшая однораговая сеть - расшариваются диски на компьютерах и все имеют доступ ко всем компьютерам. При этом почтовые ящики и учетные записи пользователей почты находятся на одном сервере, что неудобно только тем, что пользователи имеют доступ к компьютеру, выполняющему функции системы безопасности. Сервер может быть сконфигурирован так, чтобы предоставить дисковое пространство сервера в общее пользование. Таким же образом может быть предоставлен в общее пользование и принтер.
2.Сеть на основе NT-4 или MS-2000 сервера. При этом Unix сервер выполняет только функции внешнего интерфейса в Интернет, поддержки почтовой системы и бастиона безопасности.
3. Отличие от схемы 2 состоит в том, что почтовый сервер доступа к почтовым ящикам перенесен с Unix сервера на внутренний сервер. При этом можно установить как бесплатные почтовые сервера так и серьезные коммерческие продукты (Lotus Notes, MS Exchange и др.)
4. Полномасштабная защищенная сеть. Организуется с использованием нескольких серверов и выделением "промежуточной" зоны безопасности.
В дальнейшем мы более детально рассмотрим различные варианты с точки зрения политик безопасности.
Для подключения к интернет Вам будет предоставлен один адрес или блок адресов (если Вы докажете своему провайдеру, что Вам это необходимо). Основная задача - этот адрес/блок адресов должен быть виден из Интернета. Мы говорим сейчас о двух принципиальных видах адресов - «открытые» и «серые». Нас интересуют «открытые» адреса - тоесть из Интернета до них можно доступиться. «Серые» - это внутренние провайдерские. С ними тоже можно жить, но тогда провайдер должен будет решать вопросы регистрации для вас доменного имени и проброса всей почты на зарегистрированный для вас домен в вашу сеть, чтобы вы могли распределять полученную почту между пользователями.
Проверка видимости может быть проверена со следующих адресов:
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) не менее …. Кб/с …". Это впоследствии сильно сократит количество бесполезно потраченного на разъяснение времени.
В данном случае предлагается использовать операционную систему FreeBSD как достаточно стабильную и удачную для построения сетевой инфраструктуры. Конечно можно говорить и о применении любой иной Unix-подобной операционной системы, но при этом следует иметь в виду следующее:
Linux - при всем разнообразии версий - достаточно развитая система, которая предполагает отличную работу с графической подсистемой, гибкое конфигурирование, поддержку огромного количества различного оборудования и т.д. На самом деле наша задача сводится к следующему: система должны быть как достаточно удобной в использовании и так и достаточно жесткой в конфигурировании при минимально возможном количестве установленных компонент. При очевидной относительной простоте инсталляции Linux, особенно с графической подсистемой, инсталлируемые сервисы и конфигурация могут быть заведомо шире, чем это необходимо для Интернет сервера, выполняющего в первую очередь функции защиты.
FreeBSD - как и Linux достаточно гибкая система, но которая в обличие от Linux более жестко настраивается для обслуживания существующего оборудования.
NetBSD и OpenBSD - менее распространенные и более специализированные системы, которые предназначены в первую очередь для обслуживания Интернет узлов и инфраструктуры Интернет. Учитывая меньшую распространенность и меньшую развитость пользовательского интерфейса они не столь дружественны для конфигурирования и настройки, хотя они считаются более стабильными и безопасными при применении в качестве Интернет серверов.
Весьма ответственным этапом будет подбор оборудования. Политика должна быть следующей - брать хотя и не очень быстродействующее, но самое надежное.
Корпус компьютера - должен позволять установку дополнительного вентилятора для нагнетания воздуха внутрь. По возможности следует вообще блокировать выключатель питания и кнопку сброса от возможного нажатия. Очень хорошо для этого подходит кусок жесткого картона, наклеенный выше кнопок управления клейкой лентой.
Процессор - учитывая, что Вами врядле будет обслуживаться канал более 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 градусов.
Противопожарная защита. В основном тактика должна складываться из нескольких простых шагов:
- надежное по коммутируемым нагрузкам энергоснабжение
- кабельное хозяйство достаточного сечения
- наиболее короткие провода
- металлические контейнеры / стеллажи для оборудования
- металлические корпуса оборудования
- аккуратная укладка кабелей
- минимум коробок и второстепенных материалов в зоне расположения компьютеров
- надежные розетки
Устатавливаем систему в минимальной конфигурации без поддержки графической подсистемы.
Самое удобное загружаться с 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 I586_CPU cpu I686_CPU |
|
|
ident |
|
|
maxusers 0 |
|
|
options INET #InterNETworking
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 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= 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
|
|
|
|
|
|
|
|
|
# Floppy drives device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0
# # 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
options ATA_STATIC_ID #Static device numbering |
|
|
|
|
|
|
|
|
|
|
|
# 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? |
|
|
|
|
|
# syscons is the default console driver, resembling an SCO console device sc0 at isa? flags 0x100
|
|
|
|
|
|
# Floating point support - do not disable. device npx0 at nexus? port IO_NPX irq 13
|
|
|
|
|
|
|
|
|
# Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3
|
|
|
|
|
|
# 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
|
|
|
# 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
|
|
|
# The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf #Berkeley packet filter |
|
|
|
Выполняем команды компиляции ядра:
/usr/sbin/configure <имя нового ядра>
cd ../../compile/<имя нового ядра>
make depend
make
make install
Для версии 5 - меняется только строчка в вышеприведенных командах
cd ../../compile/<имя нового ядра>
на
cd ../compile/<имя нового ядра>
Если все выполнено правильно, ошибок не будет и при следующей перезагрузке Вы будете иметь новое ядро. Если что-то идет неверно на этепе компиляции и вы получаете ошибки - исправьте указанную в сообщении об ошибках область конфигурационного файлва и повторите все пункты перекомпиляции ядра сначала. Если что-то упорно не получается - можно поступить следующим образом - переименовать файл GENERIC в удобное для Вас имя, построить ядро на файле с измененным только именем, а потом последовательно небольшими порциями производить изменения и за несколько компиляций довести KERNEL до нужного состояния. Это немного более длительный путь, но он дает надежный результат.
Мы сейчас рассматриваем этап первоначального конфигурирования. Исходно предполагаем, что по умолчанию система грузится. Корректируем только ядро системы - тоесть состав физическиз устройств, а не сервисных служб.
Если при попытке перезагрузки система не грузится на стадии некорректности описания физических устройств:
Определите на каком устройстве система не грузится
На этапе вывода сообщения о выборе опций загрузки
Введите сдедующие команды
unload
load kernel.GENERIC
boot
Тем самым - загрузим старую работающую версию ядра.
После выполненный действий полезным будет распечатать протокол загрузки из файла /var/log/messages, сравнить и откорректировать еще раз список устройств, включенный в ядро и опознанных при загрузке. При этом Вы значительно уменьшаете шансы на некорректную работоспособность ядра системы, соответственно, повышаете надежность будущего сервера.
При заключении договора с провайдером можно указать одним из пунктов договора - необходимость регистрации имени Вашей организации в интернет. Это необходимо если Вы получили у провайдера «живой» а не «серый» Интернет адрес. Если получен «серый» адрес - необходимо будет строить систему почтового взаимодействия между Вами и провайдером. Тип регистрации может быть следующим:
- неправильный с Вашей точки зрения, но чрезвычайно удобный для провайдера:
@Ваше_Имя.Имя_Провайдера.Город.Страна
- правильный для Вас, простой и дешевый
@Ваше_Имя.Город.Страна
- более дорогие вариации:
@Ваше_Имя.Страна
@Ваше_Имя.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 |
Используемая база интернет-имен |
|
|
Кроме регистрации имени в интернет необходимо выполнить "обратную" регистрацию преобразования адреса в имя. Этим должен заниматься Ваш провайдер вне зависимости от того он или не он выполнял регистрацию Интернет-имени (сети принадлежат ему - адрес получен от него - значит его задача). Провайдер предоставляет Вам адрес или группу принадлежащих ему адресов, соответственно он и должен выполнять соответствующие действия. В случае невыполнения обратной регистрации могут возникать проблемы с отправкой электронной почты с Вашего сервера.
Итак, система установлена, терминал светится. Начинаем настраивать систему.
Возможны две схемы установки дополнительных пакетов - непосредственно с 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 |
Адрес сервера имен, предоставленный провайдером |
-------------------
Задачу поставим сразу чуть сложнее стандартной:
- Настроить почтовый сервер на 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 для считывания новой конфигурации.
Даем следующие команды:
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
==========================
Встроенные 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 и студентов - обшее детальное руководство и хорошее справочное руководство по системе. Отношение к Маннам. Ох. Да. Без них - никуда. Надо читать. Может быть. Исколючительно если забыл какой-то изысканный ключик. Не более. Описано все, но мы не сдаем экзамены перед преподавателем а нам нужны эффективные описания с разъяснением чуть шире чем относится исключительно к открытой на определенной странице описания конкретной команде. Там этого вобщем-то нет. Это узкоспециализированный справочник. Отдельно по каждой команде. Очень часто - настолько сложно даже в английском написано что понять однозначно не всегда представляется возможным. В этом плане хороший пример сравнения - некоторые издания Библии. В некоторых изданиях там на каждое вновь упоминаемое событие по тексту идет ссылка на целую главу, которая описывает детально упоминаемое событие. Этого подхода в Манах, к сожалению, нет и близко.