Втоая жизнь старых компьютеров - Сергей Яремчук
Шрифт:
Интервал:
Закладка:
#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.