Devil Linux Частина1

Серія контенту:
Цей контент є частиною # із серії # статей: Devil Linux
Цей контент є частиною серії: Devil Linux
Слідкуйте за виходом нових статей цієї серії.
Обидва варіанти – для 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 з 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




Підрозділ 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.
Файєрвол у базовій конфігурації працює в режимі "дозволено все" і не перешкоджає проходженню пакетів. Його ручне налаштування має опції, які застосовуються до двох або трьох мережних інтерфейсів.
Налаштування мережної карти потребує певного пояснення. Тут немає автоконфігурування, тому карту доведеться настроювати вручну.
Після завершення налаштувань потрібно виконати команду #etc/init.d/network restart та перевірити свою конфігурацію у файлі /etc/sysconfig/nic/ifcfg-eth0, звірившись із виведенням команди ifconfig (рисунок 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).


Дрібниця, але якщо при кожному перезавантаженні доведеться знову і знову конфігурувати все наново, цей процес перетвориться на пекло, і ім'я дистрибутива буде цілком виправдане.
Підтримка жорсткого диска
Для повноцінної роботи з іншими програмами в системі необхідно підключити підтримку жорсткого диска. Зрозуміло, що без нього не буде куди зберігати файли баз даних, поштового та інших серверів і, хоча Devil Linux вважається в основному дистрибутивом firewall/router напряму, багато хто використовує його як сервер додатків.
Для підтримки HDD у системі повиненбути встановлений пакет LVM Tools. Після завантаження дистрибутива необхідно переконатися, що система бачить наявний диск і правильно його розпізнає. Потім потрібно дати команду fdisk –l під користувачем root, яка виведе інформацію з HDD. У мене це:
і видно він як /dev/hda.
Наша тактика підтримки диска буде наступною. Потрібно буде наявний розділ перетворити на фізичний том (physical volume) командою pvcreate, потім створити з цього фізичного тому логічну групу (volume groupe) командою vgcreate, після чого з логічної групи створити логічні томи командою lvcreate. На кожному томі створити файлову систему, змонтувати її та прописати в /etc/fstab. Виглядає просто, але потребує пояснення. Ця технологія використовує LVM і, хоча вона має на увазі використання двох і більше дисків, ніщо не заважає застосувати її у разі одного диска. У технології LVM фізичний розділ сприймається як звичайний диск з ідентифікатором типу файлової системи (як і висновку команди fdisk –l). Він поділяється на фізичні блоки (physical extents). Логічна ж одиниця (volume groupe) поєднує фізичні томи отже вони виглядають як єдине ціле для операційної системи. Потім групу можна розбити на томи (аналоги розділів на HDD). Цими томах потім створюються файлові системи, які розбиваються на логічні блоки (logical extents). Ці блоки пов'язані з фізичними блоками безпосередньо чи методом чергування. Ми розглядатимемо прямий взаємозв'язок.
Створимо фізичний том командою:
Створимо логічну групу з ім'ям devil на основі фізичного тому:


Тепер треба розбити групу на логічні томи, з яких потім буде зроблено логічні розділи, на них файлові системи і наприкінці ці томи будутьприв'язані до точок монтування у потрібних нам місцях.
створює 200-мегабайтний логічний том на логічній групі з ім'ям devil і надає йому ім'я swap. Створимо файлову систему на цьому томі:
після чого своп-файл можна включити для прискорення роботи всієї системи командою:
Тепер створимо майбутній каталог log:
Створимо на ньому файлову систему:
Створимо каталог opt, куди будемо розміщувати всі додатки:
Створимо на ньому файлову систему:
Те саме і щодо всіх інших потрібних каталогів. У мене це ще home, data та spool.
Після закінчення цього процесу вид у системі повинен бути як на малюнку 7.
Тепер потрібно відредагувати файл /etc/fstab та вписати туди:
Перед тим, як будь-що зберігати, рекомендую змонтувати каталоги вручну і перевірити їх у режимі читання/запису. Після успішної перевірки запустіть команду vgscan – вона створить файли /etc/lvmtab та /etc/lvmtab.d. Тепер можна зберегти конфігурацію на дискету командою:
Після перезавантаження ви повинні отримати працездатну систему з повним переліком каталогів у точках монтування відповідно до файлу /etc/fstab. На етапі початкового завантаження система знаходить дискету зі збереженою конфігурацією, зчитує її звідти та використовує (рисунок 5) для формування системних даних.


У статті докладно викладено процес встановлення та налаштування операційної системи Devil Linux, яка є ідеальним інструментом для швидкої побудови роутера/файєрвола на базі завантажуваного CD-ROM без необхідності використання жорсткого диска.
Система побудована таким чином, що після її початкового конфігурування, всі параметри можуть бути збережені на зовнішній носій, яким може бути дискета абоusb-флеш із захистом від перезапису. Маючи такі можливості, отримуємо систему, здатну функціонувати лише в оперативній пам'яті комп'ютера без можливості зовнішньої зміни параметрів конфігурації, що істотно збільшує захищеність від зовнішніх впливів.
Докладно і на реальному прикладі показаний процес налаштування мережної картки з використанням модулів ядра та утиліти налаштування системи setup. Покроково описаний процес базової конфігурації основних системних сервісів.
У разі потреби у дистрибутиві передбачена підтримка HDD. Використовуючи технологію LVM, можна побудувати на базі логічних томів розділи, які потім шляхом підключення та формування на них файлової системи задіяні як звичайні розділи диска, але мають при цьому всі переваги томів LVM, такі як можливість розширення, зміни «розмірів на льоту» та підключення додаткових дискових масивів.
Після під'єднання HDD система може бути використана як сервер додатків і здатна мати на борту наступні сервіси:
- Proxy Server
- DNS Server
- Mail Server з 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 є однією з найпотужніших, масштабованих і вільних систем, здатних вирішувати всі основні завдання, що покладаються на серверні дистрибутиви, призначені для створення маршрутизаторів та міжмережевих екранів. У наступній статті будуть детально розглянуті налаштування та введення в експлуатаціюосновних сервісів системи, зокрема і з урахуванням можливостей, які з підключенням жорсткого диска.