Содержание


Devil Linux

Часть1. Установка, настройка, использование

Comments

Серия контента:

Этот контент является частью # из серии # статей: Devil Linux

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Devil Linux

Следите за выходом новых статей этой серии.

Сайт этого замечательного проекта расположен по адресу http://www.devil-linux.org/home/index.php, при открытии которого на посетителя смотрит симпатичный демонический пингвиненок с вилами в руках. Вероятно, такой логотип обязан крайней компактности, самодостаточности и мощи этого дистрибутива. Как пишут сами разработчики – этот продукт сделан системными администраторами для системных администраторов, потому что одни знают, что нужно другим. Он полностью запускается только с компакт-диска, и ему для работы не нужен даже жесткий диск, а системные требования удивят своим минимализмом бывалых инженеров. Действительно, дистрибутив дьявольски уплотнен и в тоже время сильно «наворочен».

Оба варианта – для i-486 и для i-586-SMP – занимают неполные 210 МБ, а возможностям может позавидовать даже знаменитая FreeBSD. Но давайте по порядку.

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

Помимо этого, он может работать как сервер многих сетевых приложений. Если опционально присоединить HDD и использовать его, то Devil Linux легко (конечно, при условии знания Linux вообще) может быть превращен как в сервер баз данных (например, MySQL или PostgreSQL), так и в Web-сервер. Вся документация по Devil Linux доступна на сайте проекта и представляет собой достаточно полное описание всех действий по настройке системы, хотя рекомендовать ее в качестве учебника я бы не стал. Местами она просто удивляет излишним минимализмом и некоторой недосказанностью. Хотя, помня, что ее делали инженеры для инженеров, удивляться особо нет причин – надо просто как следует изучать саму систему.

К основным свойствам Devil Linux, отличающим его от остальных дистрибутивов, относятся:

  • загрузка с CD или USB-устройств;
  • сохранение конфигурации на защищенном от записи носителе без использования жесткого диска;
  • подключение, при необходимости, жесткого диска в качестве хранилища данных для сетевых служб;
  • поддержка Intel 486 и выше;
  • поддержка iptables/netfilter;
  • возможность построения системы сугубо «под себя» с последующим ее применением на другом оборудовании с минимальными доработками в изменении имеющейся конфигурации;
  • возможность использования Firewall Builder при нежелании писать правила вручную;
  • отсутствие графического окружения рабочего стола – система доступна только в серверном варианте;
  • почти все имеющиеся пакеты дистрибутива имеют защиту от переполнения буфера;
  • улучшенная защита ядра обеспечивается применением patch GRSecurity;
  • легкая поддержка chroot/jails, доступная уже на этапе ввода приложения в эксплуатацию и обеспечивающая дополнительный уровень информационной безопасности.

Помимо использования дистрибутива как роутера/файервола, возможно его применение в качестве:

  • Proxy Server
  • DNS Server
  • Mail Server with TLS support and Spam and Virus filtering
  • HTTP Server
  • FTP Server
  • File Server
  • VPNs with X.509 support
  • DHCP Server
  • NTP Server
  • IDS Node
  • Database Server

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

Установка системы Devil Linux

Для начала установки системы необходимо записать iso-образ bootcd.iso на компакт-диск и загрузиться с него (рисунок 1). Это загрузочный образ, который появится при распаковке скачанного архива с сайта производителя. Помимо него там есть еще файлы, предназначенные для другого типа установки, но здесь будет рассматриваться только установка с CD-ROM. Пробегающие системные сообщения ничем экстраординарным не отличаются от сообщений такого рода других linux-дистрибутивов. После окончания загрузки мы попадаем в консоль с приглашением на авторизацию, ввод в которую учетной записи root без пароля (при первом входе) завершит процесс авторизации. Дальнейшее конфигурирование системы происходит при вводе команды setup в консоли, после исполнения которой открывается окно удобного псевдографического (сформированного с помощью утилиты dialog) интерфейса (рисунок 2). Этот интерфейс состоит из нескольких подразделов.

Рисунок 1.
Рисунок 1.
Рисунок 1.
Рисунок 2.
Рисунок 2.
Рисунок 2.

Подраздел Basic включает в себя hostname – для задания имени хоста, domain – доменное имя, timezone – у меня Europe/Moscow, syslog – можно выбрать опционально syslog-ng (многофункциональный демон протоколирования системных сообщений) или syslog, затем jail – “use the chroot/jails” – yes/no, log – уровень логгирования сообщений ядра. Конечно, все возможные опции и варианты я не опишу в рамках данной статьи, но самые интересные затрону.

Подраздел Services (те службы, которые будут включены при загрузке дистрибутива) включает в себя большой список, из которого наиболее интересными, на мой взгляд, являются adsl, apache2, clamav, cron, cyrus_imapd, dante (proxy server), denyhosts, dnsmasq – небольшой DHCP-сервер и DNS relay, dovecot, freeradius, freshclam, ipsec, mysql, nagios, named, postfix, samba, postgres, shorewall, snort, squid, vmware, vsftpd, vtun, xinetd.

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

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

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

В качестве примера рассмотрим настройку сетевой карточки Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]. Информацию по карточке можно получить, если внимательно просмотреть сообщения ядра по команде dmesg | less. После этого нужно на вкладке Main menu – NET – NIC – Setup first network card(Internet) – module ввести модуль ядра, который будет подгружаться при старте системы, и взаимодействовать с сетевой картой (драйвер). У меня модуль для моей карты называется pcnet32.

После завершения настроек нужно выполнить команду #etc/init.d/network restart и проверить свою конфигурацию в файле /etc/sysconfig/nic/ifcfg-eth0, сверившись с выводом команды ifconfig (рисунок 3). Внешние узлы Интернет, конечно же, должны пинговаться и быть доступными.

Рисунок 3.
Рисунок 3.
Рисунок 3.

Подраздел Other (по умолчанию) предлагает задать некоторые параметры для служб NTP, MySQL и apache2.

Подраздел LoginPW дает возможность задать (сменить) пароль для суперпользователя.

Подраздел Config служит для сохранения конфигурации – тех параметров, которые были сейчас заданы. Рассмотрим более подробно этот подраздел. Я рекомендую прибегнуть к сохранению на самой последней стадии, т.е. когда все системы и службы будут проверены и сконфигурированы. Хотя, надо отдать должное, каждый раз при сохранении конфигурации вызывается адаптированная команда diff и дописывает по разностному принципу то, чего не было в предыдущей конфигурации (см. man diff). При переходе на опцию сохранения конфигурации в системе выполняется скрипт save-config, который находится в каталоге /bin. Изучение данной программы дает информацию о том, что скрипт может быть вызван с параметрами –h, что приведет к вызову короткой, но очень полезной справки о его работе. Дело в том, что простой запуск скрипта в качестве устройства для записи вызывает /dev/null, что не приводит ни каким позитивным шагам. Опция –s пытается опросить все известные системе устройства на предмет записи туда конфигурации, но у меня это тоже ни к чему не привело. Просмотрев сообщения ядра и выяснив, что floppy-диск в системе именуется как /dev/fd0, можно вызвать программу с опцией –d и прямо указать правильное имя устройства, т.е. # save-config -d /dev/fd0, и только так мне удалось заставить заработать этот скрипт (рисунок 4).

Рисунок 4.
Рисунок 4.
Рисунок 4.

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

Поддержка жесткого диска

Для полноценной работы с другими приложениями в системе необходимо подключить поддержку жесткого диска. Понятно, что без него некуда будет сохранять файлы баз данных, почтового и других серверов и, хотя Devil Linux считается в основном дистрибутивом firewall/router направления, многие используют его как сервер приложений.

Для поддержки HDD в системе должен быть установлен пакет LVM Tools. После загрузки дистрибутива необходимо убедиться, что система видит имеющийся диск и правильно его распознает. Затем нужно дать команду fdisk –l под пользователем root, которая выведет нам информацию по HDD. У меня это:

/dev/ide/host0/bus0/targed0/lun0/disc:8589MB

и виден он как /dev/hda.

Наша тактика по поддержке диска будет следующей. Нужно будет имеющийся раздел превратить в физический том (physical volume) командой pvcreate, затем создать из этого физического тома логическую группу (volume groupe) командой vgcreate, после чего из логической группы создать логические тома командой lvcreate. На каждом томе создать файловую систему, смонтировать ее и прописать в /etc/fstab. Выглядит просто, но на деле требует пояснения. Эта технология использует LVM и, хотя она подразумевает использование двух и более дисков, ничто не мешает применить ее в случае одного диска. В технологии LVM физический раздел рассматривается как обычный диск с идентификатором типа файловой системы (как в выводе команды fdisk –l). Он делится на физические блоки (physical extents). Логическая же единица (volume groupe) совмещает физические тома так, что они выглядят как единое целое для операционной системы. Затем группу можно и нужно разбить на тома (аналоги разделов на HDD). На этих томах потом создаются файловые системы, которые разбиваются на логические блоки (logical extents). Эти блоки связаны с физическими блоками напрямую или методом чередования. Мы будем рассматривать прямую взаимосвязь.

Создадим физический том командой:

# pvcreate /dev/had

Создадим логическую группу с именем devil на основе физического тома:

 /dev/ide/host0//bus0/targed0/lun0/disc :
# vgcreate –s 8M devil /dev/ide/host0//bus0/targed0/lun0/disc

(рисунок 6).

Рисунок 6.
Рисунок 6.
Рисунок 6.

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

Команда

#lvcreate –L 200M –C y –n swap devil /dev/devil/swap

создает 200-мегабайтный логический том на логической группе с именем devil и присваивает ему имя swap. Создадим файловую систему на этом томе:

# mkswap /dev/devil/swap

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

# swapon /dev/devil/swap и проверить его подключение:
#swapon –s

Теперь создадим будущий каталог log:

#lvcreate –L 150M –n log devil /dev/devil/log

Создадим на нем файловую систему:

#mkfs.ext3 /dev/devil/log

Создадим каталог opt, куда будем размещать все устанавливаемые приложения:

#lvcreate –L 700M –n log devil /dev/devil/opt

Создадим на нем файловую систему:

#mkfs.ext3 /dev/devil/opt

То же и в отношении всех других требуемых каталогов. У меня это еще home, data и spool.

#lvcreate –L 300M –n log devil /dev/devil/home
#lvcreate –L 6000M –n log devil /dev/devil/data
#lvcreate –L 300M –n log devil /dev/devil/spool
#mkfs.ext3 /dev/devil/home
#mkfs.ext3 /dev/devil/data
#mkfs.ext3 /dev/devil/spool

По окончании всего этого процесса вид в системе должен быть как на рисунке 7.

Теперь надо отредактировать файл /etc/fstab и вписать туда:

/dev/devil/swap	none		swap	sw 		0 0
/dev/devil/log	/var/log	ext3	noatime	0 0
/dev/devil/opt	/opt		ext3	noatime	0 0
/dev/devil/home	/home		ext3	noatime	0 0
/dev/devil/data	/var/data	ext3	noatime	0 0
/dev/devil/spool	/var/spool	ext3	noatime	0 0

Прежде чем что-либо сохранять, рекомендую смонтировать каталоги вручную и проверить их в режиме чтения/записи. После удачной проверки запустите команду vgscan – она создаст файлы /etc/lvmtab и /etc/lvmtab.d. Теперь можно сохранить конфигурацию на дискету командой:

# save-config –d /dev/fd0

и перезагружаться.

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

Рисунок 5.
Рисунок 5.
Рисунок 5.

Выводы

В статье подробно изложен процесс установки и настройки операционной системы Devil Linux, которая является идеальным инструментом для быстрого построения роутера/файервола на базе загружаемого CD-ROM без необходимости использования жесткого диска.

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

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

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

После подсоединения HDD система может быть использована как сервер приложений и способна иметь «на борту» следующие сервисы:

  • Proxy Server
  • DNS Server
  • Mail Server with TLS support and Spam and Virus filtering
  • HTTP Server
  • FTP Server
  • File Server
  • VPNs with X.509 support
  • DHCP Server
  • NTP Server
  • IDS Node

Кроме этого, реализована поддержка баз данных MySQL и PostgreSQL.

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


Ресурсы для скачивания


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=494178
ArticleTitle=Devil Linux: Часть1. Установка, настройка, использование
publish-date=06032010