Печать
AltLinux Школьный (Платформа 5).

 Сайт разработчика

Спустя полтора года еще раз вернемся к дистрибутиву AltLinux.
Причиной тому появившийся компонент – сервер терминалов LTSP, то есть загрузка по сети (возможно даже с бездисковых станций).
Смоделируем следующую сеть: на входе стоит сервер, выполняющий роль DNS, DHCP, LDAP, Kerberos, шлюз интернета, сервер виртуальных машин OPENVZ и т.д. Конечно, можно разделить эти функции между несколькими серверами, и для больших сетей именно так и надо поступить, нельзя все яйца класть в одну корзину. Но перед нами стоит другая цель – проверить функционирование и простоту установки и настройки всех компонент. Для проверки используем все дистрибутивы версии 5.0.2.

Для начала повторим пройденное – правильная установка основного сервера. Главное – сразу определить топологию сети и действовать в соответствии с планом.

pic1
Итак, сервер домена SRV1, сервер терминалов TERM6, рабочие станции W и терминальные станции T. Домен будет называться school.city. Для определенности опишу реально использовавшуюся в тестировании адресацию, Вы, конечно, замените мои адреса на свои. 
Сеть internet у нас 192.168.1.0/24. Внутренние сети организуем на 126 адресов, intranet 10.252.252.128/25 и termnet 10.252.252.0/25. Интерфейс eth0 сервера SRV1 настраивается для выхода в интернет. В нашем случае его адрес будет 192.168.1.9, маска 255.255.255.0, шлюз 192.168.1.1 и DNS 192.168.1.1. Его адрес в сети intranet назначим 10.252.252.130, а адрес сервера TERM6 в этой сети – 10.252.252.131. Они будут шлюзами друг для друга. Второй интерфейс сервера TERM6 будет без шлюза, это крайний сегмент. Его адрес – 10.252.252.51.

pic2

На рисунке полное описание интерфейсов. BC – это broadcast, он нам позже тоже понадобится. Главное, при проектировании своей сети не забудьте назначить сервера шлюзами друг для друга на общем сегменте.

Теперь о том, какие настройки давать рабочим станциям:

1. Все W-машины должны по DHCP получить сетевой адрес от SRV1 из подсети 10.252.252.128/25, шлюз 10.252.252.130, DNS 10.252.252.130

2. Все Т-клиенты должны по DHCP получить адрес от TERM6 из подсети 10.252.252.0/25, шлюзом для них будет 10.252.252.51, DNS 10.252.252.130.

Для того, чтобы схема начала вся взаимодействовать друг с другом, а именно рабочие станции W и сервер SRV1 могли достучаться до подсети TermNet, надо лишь на сервере SRV1 добавить маршрут в TermNet подсеть через 10.252.252.131:

#route add 10.252.252.0/25 gw 10.252.252.131 — или через веб-интерфейс SRV1.

Теперь начинаем установку сервера SRV1. В инструкции, включенной в дистрибутив сервера, достаточно подробно описана установка сервера, поэтому я лишь акцентирую Ваше внимание на некоторых моментах.
1)    Разбиение диска. Автоматический сценарий оптимально делит диск на части. Однако, если Вы планируете на этом сервере собирать bundle для виртуальных машин, проследите размер файловой системы, отводимой под /tmp. Он должен быть достаточно большим, думаю полтора-два гигабайта должно хватить.
2)    Не ошибитесь при конфигурации сетевых интерфейсов на завершающей стадии установки. Вернуться будет нельзя, и в случае ошибки Вы можете не попасть в ЦУС.
3)    Обязательно укажите домен и внешний интерфейс на последней странице установки.

pic3
Если Вы все сделали правильно – в итоге получаете отлично настроенный и работающий сервер. За что респект его создателям, сценарии автоматической настройки работают корректно.
Мы, конечно, хотим убедиться, что все в порядке и работает. Для этого заходим в ЦУС, и начинаем настраивать. DHCP сервер включаем, указываем раздачу адресов в сегменте intranet. Мы ему назначили выдавать адреса от 10.252.252.160 до 180. Втыкаем установочный диск Master, в сетевых установках нажимаем кнопку загрузить, по окончании – назначить. И на рабочей станции запускаем сетевую установку. У нас все сработало. Пока идет установка, заводим пользователей. Если пользователи появляются в списке после нажатия кнопки «создать», скорее всего LDAP и Kerberos у Вас работают.
Мы завели три пользователя user1, user2, user3, а пользователя user1 заводим в группу wheel, чтобы он мог использовать административные привилегии. На завершающих стадиях установки рабочих станций не забываем указывать на сетевом интерфейсе получать адреса автоматически и что аутентификация пользователей происходит в домене scool.city.

pic4

Если все в порядке, то при загрузке рабочей станции master Вы увидите список пользователей. Каталоги сервера доступны с рабочей станции, в общем, все работает. Также без проблем работают все остальные проверенные компоненты: OpenVZ, Samba, NFS, веб-сервер. 
Можно переходить к следующей стадии – установке сервера терминалов. А вот здесь нас ждали проблемы. Во-первых, этот дистрибутив рассчитан только на установку с CD, сетевая установка не проходит. Во-вторых, сценарии автоматической настройки не настраивают DHCP. В-третьих, возникают какие-то нестабильные ошибки, связанные с сетевыми сервисами. Но обо всем по порядку.
При установке будьте внимательны в тех местах, о которых я уже говорил.

pic5

pic6

Вообще, в случае altlinux самое главное – корректная установка. При загрузке системы должен также появиться список пользователей. Заходим пользователем из группы wheel, и сразу в терминал, где делаем su – root и запускаем мс. Нам нужен каталог /etc/dhcp, а файл dhcpd.conf. Смотрим его содержимое и видим, скорее всего, что он не настроен. Приводим его в надлежащий вид. Для нашей сети он выглядит так:
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;

option option-128 code 128 = string;
option option-129 code 129 = string;

use-host-decl-names on;

next-server 10.252.252.51;

subnet 10.252.252.0 netmask 255.255.255.128 {
    range 10.252.252.60 10.252.252.80;
    option domain-name "school.city";
    option domain-name-servers 10.252.252.130;
    option broadcast-address 10.252.252.127;
    option routers 10.252.252.51;
    option subnet-mask 255.255.255.128;
    option root-path "10.252.252.51:/var/lib/ltsp/i586";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
  filename "/ltsp/i586/pxelinux.0";
    } else if substring( option vendor-class-identifier, 0, 9 ) = "Etherboot" {
  #filename "/ltsp/i586/nbi.img";
  filename "/ltsp/i586/pxelinux.0";
    } else {
  option-129 = " initrd=/ltsp/i586/initrd.img";
  filename "/ltsp/i586/vmlinuz";
    }
}
Вот здесь пригодился тот самый broadcast.
Перезагружаемся.
Теперь все должно работать.

pic7

Теперь остановимся на том, на что я убил пять дней при тестировании этого сервера.
Почему мы выбрали два интерфейса. 
Два DHCP сервера с разными задачами в одной сети быть не должны. Поэтому либо мы выключаем DHCP на основном сервере и лишаемся сетевых установок, либо разносим эти сервера в разные сети. В первом случае значительно упрощается настройка сети, но мы выбрали второй.
Какие были проблемы.
Иногда сетевые интерфейсы при запуске Networkmanager падают, связи нет и, конечно, нет и списка пользователей при загрузке системы. В этом случае достаточно в Настройки-Центр управления системы отключить запуск этого сервиса при загрузке и перезагрузиться. Заплетаются интерфейсы от некорректной настройки. Проверяем, исправляем ошибки, и можем обратно включить сервис. Правда, если при установке Вы этого не правили, используется etcnet, а не NetworkManager, то есть он вообще не нужен.
Все ошибки объясняются только ошибками настройки DNS и маршрутизации.
Когда Вы запустите все-таки терминал, а он покажет Вам белый крестик вместо курсора и вывалится в консоль – это значит, что пакеты с него не проходят до сервера. Опять маршрутизация и DNS.

Пора подводить итоги.
Сервер и рабочие станции – отлично. При корректной установке все работает из коробки. Было проверено LDAP, Kerberos, сетевая установка, сервер обновлений, Samba, NFS, OpenVZ, сетевая аутентификация.
Сервер терминалов – удовлетворительно. Компоненты работоспособны, но требуют настройки через командную строку, из коробки не работают.