Возможно вы искали: 'Checkmate'

June 25 2025 00:23:29
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 97119554
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18477
• Обзор The Walking ... 18927
• Обзор DMC: Devil M... 20001
• Обзор на игру Valk... 15994
• Обзор на игру Stars! 17886
• Обзор на Far Cry 3 18079
• Обзор на Resident ... 16137
• Обзор на Chivalry:... 17638
• Обзор на игру Kerb... 18092
• Обзор игры 007: Fr... 16732
Превью о играх
• Превью к игре Comp... 18073
• Превью о игре Mage... 14578
• Превью Incredible ... 14822
• Превью Firefall 13593
• Превью Dead Space 3 16447
• Превью о игре SimC... 14848
• Превью к игре Fuse 15541
• Превью Red Orche... 15653
• Превью Gothic 3 16461
• Превью Black & W... 17477
Главная » Статьи » Разное » Загрузка бездисковых Linux-станций с помощью PXE (pxe boot linux diskless dhcp tftp)

Загрузка бездисковых Linux-станций с помощью PXE (pxe boot linux diskless dhcp tftp)

Ключевые слова: pxe, boot, linux, diskless, dhcp, tftp, (найти похожие документы)

From: Сергей Черепенин, Игорь Чубин <http://xgu.ru>
Date: Mon, 27 Apr 2008 17:02:14 +0000 (UTC)
Subject: Загрузка бездисковых Linux-станций с помощью PXE

Оригинал: http://xgu.ru/wiki/PXE

На данной странице детально описывается процесс загрузки бездисковых
Linux-станций с помощью PXE, а также рассказывается как с помощью
программ проекта LTSP подгототвить Linux-систему для использования в
качестве сервера загрузки таких станций. Рассматривается процесс
настройки всех необходимых компонентов (TFTP,DHCP,NFS-серверов),а
также приводятся примеры их конфигурационных файлов.


Что такое PXE?


PXE (Preboot Execution Environment) -- среда для загрузки компьютеров
с помощью сетевой карты без использования жёстких дисков,
компакт-дисков и других устройств, применяемых при загрузке
операционной системы. Для организации загрузки системы в PXE
используются протоколы IP, UDP, DHCP и TFTP. PXE-код, прописанный в
сетевой карте, получает загрузчик из сети, после чего передаёт ему
управление.


Загрузка Linux-системы с использованием PXE

Загрузку Linux системы с помощью PXE можно выполнить с помощью
загрузчика PXELINUX, созданного на базе SYSLINUX. PXELINUX
загружается с помощью PXE-кода в сетевой карте, а затем ему передаётся
управление. Код PXELINUX не нужно прописывать в чип на сетевой карте
(если нужно именно это, см. проект etherboot).




* pxe - Загрузка PXE-загрузчика. Прошивкой PXE, встроенной в сетевую
карту, выполняется загрузка загрузчика pxelinux.


* dhcp1 - Получение IP-адреса и адреса TFTP-сервера. Загрузчик
pxelinux делает DHCP-запрос и с его помощью получает IP-адрес и
адрес TFTP-сервера. По умолчанию адрес TFTP-сервера равен адресу
DHCP-сервера.


* tftp - Обращение к TFTP-серверу для получения ядра Linux.
Загрузчик pxelinux обращается к TFTP-серверу и запрашивает у него
ядро Linux (и, при необходимости, образ initrd).


* kernel - Запуск ядра Linux. После того как ядро Linux загружено,
управление передаётся ему.


* dhcp2 - Получение IP-адреса DHCP. Ядро Linux делает запрос DHCP, с
помощью которого получает свой IP-адрес, адрес NFS-сервера, на
котором находится корневая файловая система, а также путь к
местоположению этой файловой системы на диске.


* nfs - Монтирование корневой файловой системы. Корневая файловая
система монтируется.


* init - Вызов процесса init. На корневой файловой системе находится
файл /sbin/init, которому передаётся управление.


Предварительные данные

Сетевые настройки

Сетевые интерфейсы настраиваются автоматически согласно файлу
/etc/network/interfaces:

%# cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

auto lo eth0 eth1

# The loopback network interface

iface lo inet loopback

# The primary network interface
iface eth0 inet static
address 10.0.35.7
netmask 255.0.0.0
network 10.0.0.0
gateway 10.0.35.1
dns-nameservers 10.0.35.1
dns-search unix.nt

pre-up iptables -t nat -A POSTROUTING -s 192.168.15.0/24 -j MASQUERADE
post-up echo 1 > /proc/sys/net/ipv4/ip_forward

# The secondary network interface

iface eth1 inet static
address 192.168.15.180
netmask 255.255.255.0
network 192.168.15.0

post-up ifconfig eth1:1 192.168.1.254


Интерфейс eth0 подлючен к сети 10.0.0.0/8 и через него осуществляется
выход в интернет.

Интерфейс eth1 подключен к сети 192.168.15.0/24, в которую
подключаются тонкие клиенты.

Аллиас на интерфейсе eth1 eth1:1 необходим для соединения с
терминальным сервером Windows

Для осуществления возможности выхода в интернет всем студентам с
тонких клентов настраивается firewall в таблице nat цепочки
POSTROUTING (о чем говорит соответствующая строка в конфигурационном
файле настройки сетевых интерфейсов):

pre-up iptables -t nat -A POSTROUTING -s 192.168.15.0/24 -j MASQUERADE


Кроме настройки firewall необходимо включить forwarding. Иными
словами, необходимо разрешить ядру операционной системы осущетсвлять
проброс трафика с одного интерфейса на другой. Это можно сделать
несколькими способами:

1. Строка в файле /etc/network/interfaces

post-up echo 1 > /proc/sys/net/ipv4/ip_forward


2. Строка в файле /etc/sysctl.conf

net.ipv4.conf.default.forwarding=1


3. Команда

%# sysctl net.ipv4.conf.default.forwarding=1


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


Операционная система


%$ uname -a
Linux debian 2.6.16-2-486 #1 Sat Jul 15 21:23:01 UTC 2006 i686 GNU/Linux


Инсталляция DHCP-сервера

Установка DHCP-сервера:

%# apt-get install dhcp
.
.
.
NOTE: dhcpd's messages are being sent to syslog. Look there for
diagnostics messages.

Starting DHCP server: dhcpd failed to start - check syslog for diagnostics.

DHCP-сервер не заработал в базовой конфигурации - смотрим почему:

%# tail /var/log/daemon.log
Dec 25 17:27:56 debian rpc.statd[4128]: Version 1.0.10 Starting
Dec 25 17:33:43 debian dhcpd: No subnet declaration for eth0 (192.168.15.244).
Dec 25 17:33:43 debian dhcpd: Please write a subnet declaration in your dhcpd.c
onf file for the
Dec 25 17:33:43 debian dhcpd: network segment to which interface eth0 is attached.
Dec 25 17:33:43 debian dhcpd: exiting.


Анализ лог-файла /var/log/daemon.log говорит, что не описана сеть
192.168.15.0/24. Указанная сеть была определена автоматически, исходя
из адреса интерфейса, на котором DHCP-сервер прослушивает запросы. По
умолчанию этот интерфейс eth0. Конфигурационный файл dhcpd.conf не
содержит описания этой сети.

Ниже мы отредактируем этот файл и опишем в нём названную сеть.

Если бы было нужно чтобы DHCP-сервер работал на другом интерфейсе,
нужно отредактировать файл /etc/default/dhcp -- указать нужный
интерфейс:

%# vim /etc/default/dhcp

INTERFACES="eth1"


Сейчас этого делать не нужно.


Настройка DHCP-сервера


Далее можно приступать к непосредственной настройке DHCP-сервера:

%# vim /etc/dhcp.conf

option domain-name "unix.nt";
option domain-name-servers 192.168.15.254;
option subnet-mask 255.255.255.0;
server-name "ltsp0.unix.nt";
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.15.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.15.200 192.168.15.220;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.15.255;
option root-path "192.168.15.244:/opt/ltsp/i386/";
option routers 192.168.15.254;
filename "pxelinux.0";
}


Конфигурационный файл практически ничем не отличается от файла по
умолчанию. Клиентам будут выделяться IP-адреса из диапазона
192.168.15.200-192.168.15.220, указанного в range dynamic-bootp. В
качестве DNS-сервера и шлюза используется хост 192.168.15.254.

Опции, имеющие непосредственно отношение к бездисковой загрузке:

* root-path
* filename



Запуск DHCP-сервера


Запуск DHCP-сервера:

# /etc/init.d/dhcp start


Инсталляция и настройка TFTP-сервера


Установите пакет tftpd-hpa (другие TFTP-серверы могут работать
некорректно):

%# apt-get install tftpd-hpa


Настройка TFTP-сервера

В момент завершения установки нам было сообщено о том, что tftp-сервер
по-умолчанию не работает в режиме демона, а будет запускаться через
интернет-суперсервер inetd. Проверим на наличие строки его
настройки в конфигурационном файле inetd:

%# grep tftp /etc/inetd.conf
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot


Перезапустим интернет суперсервер:

%# /etc/init.d/inetd restart
Restarting internet superserver: inetd.


И проверим выполняет ли интернет-суперсервер прослушивание порта 69
(порт TFTP):

%# netstat -lnp | grep :69
udp 0 0 0.0.0.0:69 0.0.0.0:* 7331/inetd


На этом настрока tftp-сервера завершена.


Настройка LTSP ( Linux Terminal Server Project)

Установка серверной части ltsp

Необходимо установить пакет ltsp-server. В качестве зависимостей от
этого компонента будет скачан установлен сервер NFS (при условии, что
он не был установлен ранее).

%# apt-get install ltsp-server


После установки нам рекомендовано добавить строку

/opt/ltsp *(ro,no_root_squash,async)


в файл экспортирования файловых систем /etc/exports.

Корневая файловая система, которую будут использовать клиенты,
находится в подкаталоге каталог /opt/ltsp. Она должна быть доступна
через NFS. Можно изменить файл /etc/exports сейчас, а можно позже. Мы
изменим позже.


Настройка шлюза


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

Добавляем строки в /etc/network/interfaces

post-up iptables -t nat -A POSTROUTING -s 192.168.15.0/24 -j MASQUERADE
post-up echo 1 > /proc/sys/net/ipv4/ip_forward


Создание клиентского образа ltsp

Образ создаётся с помощью скрипта ltsp-build-client. В качестве
аргументов скрипту необходимо указать:

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


В каталог, который будет для бездисковой станции корневым,
проинсталлируется дистрибутив etch. В качестве источника пакетов
указан локальный apt-proxy. Вместо него нужно указать соответствующее
зеркало.

%# ltsp-build-client --arch i386 --dist etch --mirror http://192.168.15.251:9999/debian
.
.
.
WARNING: no entry for /opt/ltsp in /etc/exports,
you may want to add the following line to /etc/exports:

/opt/ltsp *(ro,no_root_squash,async)

and then run the command:

invoke-rc.d nfs-kernel-server reload
info: LTSP client installation completed successfully


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

%$ ls -l /opt/ltsp/
drwxr-xr-x 20 root root 4096 2006-12-25 18:02 i386
%$ ls /opt/ltsp/i386/
bin dev home lib mnt proc sbin sys usr
boot etc initrd media opt root srv tmp var


Рекомендуется делать доступ к файловой системе в режиме read/only,
дабы избежать конфиликтов при совместном доступе.

Мы для экспериментов сделаем файловую систему доступной в режиме
read/write. В режиме нормальной эксплуатации никогда не экспортируйте
корневую систему бездисковых станций в режиме read/write, если точно
не знаете к каким последствиям это приведёт!

Добавьте в файл /etc/exports строку:

/opt/ltsp/i386 *(rw,no_root_squash,async)


Теперь, необходимо указать nfs-kernel-server демону чтобы он перечитал
этот файл:

%# invoke-rc.d nfs-kernel-server reload
Re-exporting directories for NFS kernel daemon...
exportfs: /etc/exports :
Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/opt/ltsp/i386".
Assuming default behaviour ('subtree_check').
NOTE: this default will change with nfs-utils version 1.1.0


И проверяем:

%# showmount -e
Export list for debian:
/opt/ltsp/i386 *


В ходе выполнения команды ltsp-build-client был также создан каталог
/var/lib/tftpboot/ltsp/i386/ :

%# ls -l /var/lib/tftpboot/ltsp/i386/
-rw-r--r-- 1 root root 72400 2006-12-04 17:52 config-2.6.18-3-486
lrwxrwxrwx 1 root root 23 2006-12-25 18:05 initrd.img -> initrd.img-2.6.18-3-486
-rw-r--r-- 1 root root 3080263 2006-12-25 18:05 initrd.img-2.6.18-3-486
lrwxrwxrwx 1 root root 20 2006-12-25 18:05 nbi.img -> nbi.img-2.6.18-3-486
-rw-r--r-- 1 root root 4307968 2006-12-25 18:05 nbi.img-2.6.18-3-486
-rw-r--r-- 1 root root 13324 2006-12-25 18:05 pxelinux.0
drwxr-xr-x 2 root root 4096 2006-12-25 18:05 pxelinux.cfg
-rw-r--r-- 1 root root 714765 2006-12-05 00:21 System.map-2.6.18-3-486
lrwxrwxrwx 1 root root 20 2006-12-25 18:05 vmlinuz -> vmlinuz-2.6.18-3-486
-rw-r--r-- 1 root root 1218196 2006-12-05 00:21 vmlinuz-2.6.18-3-486


Конфигурационный файл сетевого загрузчика pxelinux находится в
pxelinux.cfg/default корневого каталога дистрибутива.

Проверяется не только имя default/

Необходимо создать файл /var/lib/tftpboot/pxelinux.cfg/default:

DEFAULT vmlinuz-2.4.34.lan
APPEND nfsdir=192.168.15.180:/opt/ltsp/i386/ lang=ru ramdisk_size=100000 (перенос)
root=/dev/nfs rw nfsroot=192.168.15.180:/opt/ltsp/i386/ ip=dhcp
TIMEOUT 30
PROMPT 1
DISPLAY boot.msg


Подготовка клиентского ядра и initrd

Необходимо подготовить ядро, под управлением которого будут работать
клиентские станции.

При конфигурировании клиентского ядра обязательно нужно включить:

* Поддержку сетевой карты
* Поддержку NFS


Пример конфигурационного файла пожно скачать здесь. При такой
конфигурации ядра initrd не используется.

В том случае, если какой-либо из необходимых для загрузки и
монтирования корневой файловой системы, драйвер нельзя (или не
хочется) по какой-либо причине включить в ядро, необходимо подготовить
виртуальный загрузочный диск initrd.

Если бездисковый клиент будет загружать не только ядро Linux, но и
initrd, нужно сделать соответствующие изменения в конфигурационном
файле pxelinux.cfg/:

%# vi pxelinux.cfg/default


Дополнительная информация


PXE:

* Спецификация PXE (pdf)
* PXE на en.wikipedia.org
* rom-o-matic.net - коллекция PXE-образов
* PXELINUX на сайте SYSLINUX


LTSP:

* Linux Terminal Server Project
* LTSP.RU - Linux TERMINAL SERVER Project (Russia) -
использование Linux на бездисковых рабочих станциях
* Linux Terminal Server Project на en.wikipedia.org
* Linux Terminal Server Project на ru.wikipedia.org
* Обсуждение на iXBT


Настройка:

* журнал инсталляции LTSP-сервера



Приложения


Конфигурационные файлы

mouse usb /etc/modules
mknod mice c 13 63


Скрипты

/home/rdp/.xsession
SERVER=192.168.1.2
USER=user


while true
do
LANG=C rdesktop -a24 -f -u $USER $SERVER
done
1274 Прочтений •  [Загрузка бездисковых Linux-станций с помощью PXE (pxe boot linux diskless dhcp tftp)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Загрузка бездисковых Linux-станций ... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка