Использование бездисковых маршрутизаторов::Журнал СА 11.2003
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

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

 Читать далее...

Рынок труда  

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

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9902
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8115
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8216
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5203
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5886
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Использование бездисковых маршрутизаторов

Архив номеров / 2003 / Выпуск №11 (12) / Использование бездисковых маршрутизаторов

Рубрика: Администрирование /  Продукты и решения

АНДРЕЙ МОЗГОВОЙ

Использование бездисковых маршрутизаторов

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

Структура сети и роль бездисковых станций

Рисунок 1

Так уж вышло, что физическое месторасположение мостов (bridge) [1] не самое удачное. Вдобавок с электропитанием перебои. Компьютеры не самые мощные PI-200 МГц, DIMM – 32 Мб, но это не мешает им обслуживать 4 сети по 100 Мб/с и одну по 10 Мб/с. Могли бы все быть по 100 Мб/с, просто PCI-слотов не хватает. В дальнейшем разговор будет идти о bridge и сетях, которые выделены в серую рамку.

А вот и фото из технического коридора:

Рисунок 2 Рисунок 2а

Как видите, материнская плата и блок питания легко поместились в обычном электрощите. Главное – сообразить, как все правильно разместить. Блок питания лучше размещать сверху, тогда нагретый им воздух не будет повышать температуру процессора. А этот факт может о себе напомнить в жаркие летние деньки. Аккуратно зафиксируйте кнопки Вкл/Выкл, Питания и RESET. Они могут вам понадобиться в первые дни настройки. Опора для сетевых карт взята прямо из старенького корпуса формата AT. Видеокарты нет. Это не принципиальное решение. Просто нет у меня такого маленького мониторчика, который с легкостью можно взять с собой в технический коридор. Вместо видеокарты использую последовательный порт (com port). Это очень удобно, можно просто прийти с ноутбуком и решить любые проблемы. Главное – собрать ядро с опцией «Character devices –> Support for console on serial port (CONFIG_SERIAL_CONSOLE=y)», указать соответствующие опции при загрузке ядра (console=ttyS1) [2] и добавить строчку в /etc/inittab (s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100).

Как же загружается и настроена бездисковая станция?

В этом разделе bridge будем называть клиентов, а router, с которого загружается bridge, – сервером. Все, что требуется от клиента, – это послать запрос по сети, получить настройки, скачать образ и передать управления на него. На стареньких компьютерах редко встречаются интегрированные сетевые интерфейсы с возможностью загрузки по сети. Приходится использовать сетевые карты с BOOTROM (энергонезависимая память с прошивкой, осуществляющей загрузку). Давно, еще на стареньких NE2000, появилась возможность установки и использования этих самых BOOTROM. Только в наше время это дело выбора.

Рисунок 3

Можно найти сетевую карту со слотом для ПЗУ, докупить саму ПЗУ, сделать прошивку, необходимую вам, и наслаждаться проделанной работой. А можно сразу купить сетевую карту, поддерживающую загрузку по сети. Сейчас распространены прошивки Intel PXE, лучше остановиться на версии v2.x. У автора как раз завалялось несколько таких карточек, а именно 3Com905C-TX-M. Устанавливаем, входим в BIOS сетевой карты, настраиваем, чтобы загружалась по сети.

Все, на этом настройка клиента заканчивается. Но что, если у вас нет под рукой такого 3Com, но нашлась какая-нибудь другая карта с уже установленным ПЗУ. Вам помогут либо etherboot, либо netboot [3]. Клиент настроен, включен и рассылает запросы по сети, ожидая ответа от DHCP-сервера в виде сетевых настроек и TFTP-сервера, с которого необходимо забрать образ.

Сервер

На сервере должны быть остановлны DHCPD [4], TFPD и пакет SYSLINUX [5]. Как я уже говорил (см. выше), сначала DHCPD должен отдать сетевые настройки, следовательно, настраиваем его в первую очередь. Вот примерное содержание конфигурационного файла:

#############

# dhcpd.conf

#

# For diskless station.

allow booting;

allow bootp;

# option definitions common to all supported networks...

option domain-name "my-domain.ru";

option domain-name-servers ns.my-domain.ru, ns1.my-domain.ru;

#ddns-update-style none;

default-lease-time 600;

max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {

        option routers 192.168.0.1;

        option subnet-mask 255.255.255.0;

        option broadcast-address 192.168.0.255;

        option dhcp-client-identifier "PXEClient";

        next-server 192.168.0.1;

        filename "pxelinux.0";

 

        host bridge {

                hardware ethernet 00:00:00:00:00:00;

                fixed-address 192.168.0.2;

        }

}

/usr/sbin/in.tftpd -l -v -s /tftpboot/

/tftpboot/pxelinux.cfg/C0A80002

default /kernels/test/bzImage initrd=/images/initrd.br load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=16384 rw root=/dev/ram0 console=ttyS0

prompt 1

display /images/default.txt

F1 /images/help.txt

timeout 50

label linux

    kernel /kernels/bare.i/bzImage

    append initrd=/images/initrd.br load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=8192 rw root=/dev/ram SLACK_KERNEL=bare.i

label bare.i

    kernel /kernels/bare.i/bzImage

    append -

Кратко прокомментирую самое главное. Клиент получит IP-адрес (fixed-address 192.168.0.2), соответствующий MAC-адресу (hardware ethernet 00:00:00:00:00:00). Адрес TFTP-сервера и имя образа он узнает из параметров next-server 192.168.0.1 и filename «pxelinux.0» соответственно.

Запускаем DHCPD, на первый раз можно с опциями «-d -f», чтобы увидеть запросы клиента и как на них реагирует DHCPD. Включите клиента, он пошлет запросы, получит настройки, выведет их на экран (конечно, не обязательно, но вы поймете, что клиент получил либо не получил их, тем более комментарий к происходящему выведет DHCPD).

Рисунок 4

 

 

 

 

 

 

 

Рисунок 4а

Второй шаг. Настройка TFTP

TFTP-сервер поставляется в комплекте практически с любым дистрибутивом. Скорее всего и в вашем Linux он уже установлен. Автор не стал запускать TFTP под наблюдением INETD (именно в моем случае это просто излишне, для себя решайте сами). Вся настройка сервиса (если без INETD) укладывается в указание нужных параметров при запуске [6].

В директорию /tftpboot/ (у меня это линк на /usr/local/tftpboot/) копируем бинарник pxelinux.0 из пакета SYSLINUX. Это все, что понадобится нам из этого пакета. Конфигурационные файлы для PXELINUX хранятся в корне TFTP-сервера в каталоге «pxelinux.cfg». Чтобы клиент легко разобрался, какой конфигурационный файл предназначен именно ему, файлы соответствуют IP-адресам клиентов, но в шестнадцатеричном представлении. Так, для нашего клиента, имеющего IP-адрес 192.168.0.2, конфигурационный файл для pxelinux.0 должен находиться по следующему адресу:

Как вы думаете, как будет выглядеть конфигурационный файл для 192.168.0.0/24? Правильно – «C0A8».

Вот мой конфигурационный файл:

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

Собрать ядро для бездисковой станции проблем не составит. Прочтите HOWTO на тему Diskless и Kernel [7]. Главное, включите поддержку ram-дисков и ext2. От NFS-ROOT автор отказался наотрез, ну не нужен он там. Лучше собрать свой маленький дистрибутив или воспользоваться каким-нибудь однодискетным. Автор собрал таковой в стиле Slackware, основанный на BusyBox [8]. Образ дистрибутива ядро скачивает с TFTP-сервера согласно параметрам (см. конфигурационный файл).

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

Используйте firewall, дабы прикрыть новые сервисы. Можно ограничить доступ к ним только из одной сети, но iptables позволяет ограничить доступ даже по MAC-адресам. Для DHCPD укажите сетевой интерфейс, который будет обслуживаться этим сервисом.

Заключение

Не бойтесь экспериментировать. Собрать и настроить такой bridge несложно, зато практическая польза – все 100%. К тому же, настроив одну станцию и собрав один маленький дистрибутив, вам наверняка захочется сменить еще парочку маршрутизаторов на бездисковые.

Ссылки:

  1. Что такое bridge и чем он отличается от router, должен знать каждый системный администратор. К тому же, как настроить bridge, описывалось в статье Заклякова П. Разводной мост на Linux (Bridging Firewalls). – Журнал «Системный администратор» №4(5), апрель 2003 г. – 42-54 с. Хотя лично у меня есть небольшие расхождения в реализации. В основном они сводятся к упрощению. Например, вместо того чтобы патчить ядро, можно просто использовать последнюю версию оного. Сначала прочтите Bridge+Firewall-HOWTO, вы сами все поймете. Вот несколько ссылок, которые помогут вам до конца разобраться:
  2.     http://bridge.sourceforge.net

        http://www.linux.org/docs/ldp/howto/Bridge/index.html

        http://www.linux.org/docs/ldp/howto/Bridge+Firewall.html

        http://www.linux.org/docs/ldp/howto/BRIDGE-STP-HOWTO/index.html

        http://www.ibiblio.org

  3. По всем параметрам, которые можно задать ядру через командную строчку, есть хороший man – man 7 bootparam.
  4. Подробнее о etherboot и о netboot можно узнать, найдя эти проекты на http://www.sf.net
  5. Homesite dhcpd: http://www.isc.org/products/DHCP
  6. Homesite syslinux: http://syslinux.zytor.com/index.php
  7. man in.tftpd
  8. http://www.ibiblio.org/pub/Linux/docs/HOWTO/Diskless-HOWTO
  9. http://www.ibiblio.org/pub/Linux/docs/HOWTO/Kernel-HOWTO

  10. BusyBox представляет собой «набор» основных утилит Linux, только они специально несколько упрощены. Все равно очень удобно. Очень удачно описана сборка дистрибутива в статье «Создание загрузочных дискет и CD-дисков Linux» Всеволода Стахова, которая была опубликована в журнале «Системный администратор» №6(7), июнь 2003 г. – 44-51 с.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru