KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Сергей Яремчук - Втоая жизнь старых компьютеров

Сергей Яремчук - Втоая жизнь старых компьютеров

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн "Сергей Яремчук - Втоая жизнь старых компьютеров". Жанр: Программирование издательство неизвестно, год неизвестен.
Перейти на страницу:

#cat you rimage .lzdsk > /dev/fdO ИЛИ

#dd if=/path/to/rот-image of=/dev/fdO bs=1024

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

Отправная точка в Интернете для поиска необходимой информации и программ – официальный сайт проекта http://www.ltsp.org .

Конфигурация сервера Athlon 1.3 Гц, 256 Мб, 10 Мбит сетевая карта. Пять клиентов Pentium-100, 16 Мб, Video S3 Trio 3D 4 Мб. Все это настраивалось под операционными системами Linux Mandrake 8.0 и Red Hat 7.3. Для того чтобы это все работало на данных системах, были установлены следующие сервисы: dhcp, nfs, portmap, tftp (клиент и сервер), если понадобится telnet-сессия, то и telnet-cepBep и запущена служба xinetd. На установке выше перечисленных сервисов я останавливаться не буду, хотя бы потому, что большинство их входит в состав соответствующих дистрибутивов, и если нет в стандартной поставке, то их всегда можно найти на соответствующем сайте.

Для настройки Itsp нам понадобятся следующие пакеты, которые можно взять с http://prdownloads.sourceforge.net/ itsp/, все они доступны как в виде перекомпилированных пакетов в формате rpm или deb, так и в виде исходников. Какие устанавливать – дело вкуса и опыта. Я скачал в формате tgz. Итак, какие необходимо скачать пакеты (версию не указываю специально, так как к моменту выхода статьи все может измениться, плюс уже давно ходит в бетах версия 4):

¦ lts pcore – основной пакет , необходимый для работы;

¦ lts pkernel – ядро , загружаемое на клиентский компьютер;

¦ lts px core – пакет, необходимый для запуска X- Window версии 4.x на клиентском компьютере;

¦ lts px fonts – пакет со шрифтами (скачал по рекомендации на сайте, но вполне можно обойтись и без него).

Если видеокарта не поддерживается в версии 4.x, необходимо дополнительно выбрать пакет с версией сервера 3.3.6 применительно к видеокарте, установленной на ваших клиентских компьютерах (в моем случае это Its px336 s3), или, если нет, то Its px336 svga, но при этом не будут работать ТгueТуре-шрифты и сглаживание. На сайте также доступны пакеты для поддержки звука, сканера, веб-камер и wireless-устройств на терминале, пакеты для организации Windows-терминала и еще много чего. Первым обязательно должен быть установлен пакет lts pcore . Установка заключается в распаковке (tar xvzf) и запуске инсталляционного скрипта (cd lts pxxx , ,/install.sh). Остальные устанавливаются аналогично. Для rpm-пакетов просто дайте команду:


# rpm -ivh lts pcore-3 .0.9-0.i386.rpm

и аналогичную для остальных. При запуске скрипта установки lts pcore выдается информация , которая подразумевается по умолчанию, все настройки можно изменить в файле config, желательно до начала инсталляции, а то потом придется править во всех файлах по отдельности:


Good! We have found RedHat version 7.3

About to install LTSP, using the following settings:

# каталог, в который устанавливаются пакеты

LTS PDIR = /opt/1tsp

SWA PDIR = /var/opt/1tsp/swapfiles

# каталог для загружаемого ядра

TFT PDIR = /tftpboot

# адрес сети

I PNETWORK = 192 .168.0.0

# адрес сервера

IPJ3ERVER = 192.168.0.1

# маска сети

I PNETMA .SK = 255.255.255.0

# широковещательный адрес сети

I PBROADCAST = 192 .168.0.255

После установки всех пакетов перейдите в каталог/opt/ Itsp/templates/ и запустите скрипт ./Itspjnitialize, который внесет необходимые изменения в конфигурационные файлы вышеперечисленных сервисов. Внимательно читайте выходные данные, если что-то у вас не установлено, то скрипт выдаст сообщение об ошибке. Теперь давайте перейдем к ручной доводке сервисов.

Сервис dhcp настраивается в файле /etc/dhcpd.conf, который при установке в большинстве дистрибутивов не создается, поэтому первоначально может потребоваться его создать:


#touch /etc/dhcpd.conf

Для того чтобы правильно е

го настроить, необходимо знать МАС-адрес сетевой карты, IP-адрес сервера и сетевую маску. Для выяснения МАС-адреса я нашел в Интернете множество программ, написал одну на Perl, воспользовавшись модулем с CPAN, затем вспомнил, что демон arpd сохраняет информацию о всех МАС-адресах и их IP-адресах в пределах локальной сети, а проблема решилась проще, чем я думал, при запуске образа, который мы приготовили на дискете раньше, выдается требуемый МАС-адрес сетевой карты, установленной на компьютере.

Для начала о некоторых допущениях, связанных с конфигурацией локальной сети. В сети 192.168.0.0/255.255.255.0 для бездисковых терминалов выделены адреса с 192.168.0.100 по 192.168.0.254. Серверы DHCP и LTSP находятся на компьютере 192.168.0.1. Тогда файл /etc/ dhcpd.conf будет иметь такой вид:


subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.100; option subnet-mask 255.255.255.0;

option broadcast-address 192.168.0.255;

option routers 192.168.0.1;

option domain-name-servers 192.168.0.1; option domain-name "server.org"; option log-servers 192.168.0.1;

host terml {

hardware ethernet 00-02-44-07-FC-C4; fixed-address 192.168.0.100;

option host-name "terml";

option root-path "192.168.0.1:/opt/ltsp/i386";

filename "lts/vmlinuz-2.4.21-ltsp-l";

}

Небольшое пояснение. В начале конфигурационного файла расположены инструкции, относящиеся ко всем компьютерам сети. Их смысл очевиден. Поскольку на терминалах нет жесткого диска, то демону журналиро- вания syslogd в строке option log-servers 192.168.0.1 указывается удаленный сервер, который будет записывать от него сообщения. Для того чтобы демон syslogd на сервере мог принимать сообщения от терминалов, в файле конфигурации /etc/sysconfig/syslog, должен использоваться ключ -г:


# Options to syslogd

# -m 0 disables 'MARK' messages.

# -r enables logging from remote machines

# -x disables DNS lookups on messages recieved with -r

# See syslogd(8) for more details

SYSLOG DOPTIONS="-m 0 -r "

Далее идут индивидуальные настройки для каждого компьютера клиента. Здесь можно переопределить настройки сервера индивидуально. В строке hardware ethernet 00-02-44-07-FC-C4 указывается аппаратный МАС-адрес сетевой карты, а в строке fixed-address 192.168.0.100 за ним статически закрепляется IP-адрес. Теперь при запросе клиента с указанным МАС-адресом ему всегда будет выдаваться IP-адрес 192.168.0.100. Остальным же он будет назначаться на общих правилах, из таблицы свободных адресов. Строка option root- path указывает на раздел, который будет смонтирован в качестве корневого с помощью службы NFS, его можно прописать и в глобальной секции, но только в том случае, если в данной сети используются только бездисковые станции, иначе ноутбук шефа будет загружать что попало. Для того чтобы данный ресурс был виден в сети, необходимо в файле/etc/exports сервера LTSP указать каталоги, доступные для сетевого монтирования:


/opt/ltsp/i386 192.168.0.0/255.255.255.0 {го, n oroot squash)

/var/opt/ltsp/swapfiles {rw, n oroot squash)

Слева указаны каталоги, которые экспортирует сервер, первая строка – корневую систему, а вторая – раздел свопирования, если в нем есть необходимость. Справа указаны опции. Флаги го и rw указывают на доступ только для чтения и для записи и чтения соответственно. А n oroot squash заменяет пользователя root более безобидным nobody. Параметры го и n oroot squash, используются в файле по умолчанию, и поэтому их можно смело опустить, но так как-то нагляднее.

Ядро может автоматически определить только PCI сетевую карту, если у вас ISA, то добавьте следующие строки для каждого описываемого клиента.


option option-128 е4:45:74:68:00:00;

option option-129 "NIC=ne 10=0x300";

Здесь хочется отметить, что «option-128» в этом случае не является тас-адресом, это специальный ключ для загрузки Etherboot. Параметр «option-129» указывает ядру, какой именно драйвер сетевой карты необходимо загружать. Параметр filename указывает путь к ядру, который необходимо загружать. Пакет LTSP поставляется с двумя ядрами, поддерживающими большинство сетевых карт: одно описано выше, а второе с префиксом Ipp (Linux Progress Patch) в имени. При использовании последнего ядра на компьютере клиента при загрузке отображается статус-бар, данное ядро рекомендуется использовать, после того как удалось все настроить и загрузиться с обычного.

Дополнительно может понадобиться для экспорта домашних каталогов пользователей /home добавить следующие строки в файл /etc/exports:


/home 192.168.0.0/255.255.255.0 (rw)

а в файл /оpt/ltsp/i386/etc/fstab:

ltsp-server:/home/ /home nfs defaults,rsize=8192,wsize=8192 0 0

И обязательно добавьте в файл /etc/hosts описание компьютеров сервера и клиентов для нормальной работы службы NFS. Например:


/etc/hosts

127.0.0.1 localhost.localdomain localhost

192.168.0.1 server.org

192.168.0.100 terml

Теперь необходимо перезапустить сервис dhcpd:


[ [email protected] etc]# /etc/init : d/dhcpd restart

Останавливается dhcpd: [СБОЙ]

Запускается dhcpd: note 3 [ОК]

[ [email protected] etc]# /etc/init.d/dhcpd status

dhcpd {pid 979) выполняется…

На этом настройку dhcpd можно считать законченной. Теперь о настройках остальных сервисов. Общим для некоторых из них является то, что если сервис запускается с помощью xinetd (tftp, telnet), то он обязательно должен быть разрешен (в файлах/etc/xinet.d/tftp и /etc/xinet.d/ telnet), для этого требуется заменить disable = yes на disable = по. Также в целях улучшения безопасности могут быть определены IP-адреса, с которых разрешен доступ к данному сервису (по умолчанию localhost), т.е. в нашем случае onlyjrom = 192.168.0.0. Кстати, вообще вышеописанное желательно проводить в сетях, в которых вы полностью доверяете всем компьютерам, а от внешних собратьев закрыться firewall.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*