Просмотры
Статья
Обсуждение
Просмотр
История
Материал из AltLUG Wiki
Страница «
Терминальный сервер на основе Debian Lenny
»
Перейти к:
навигация
,
поиск
Просмотр
== Настройка серверной части терминального сервера: == Основная задумка в том чтобы установить и настроить терминальный сервер с использованием бездисковых терминальных клиентов, т.е клиентский компьютер по dhcp получает свой ип адрес а также путь откуда брать ядро для загрузки а после загрузки ядра автоматически подключается к серверу терминалов через протокол nx. Используемые технологии: DHCP TFTP Thinstation SSH RX@Etersoft (тотже FreeNX только чуть подправленный) '''Устанавливаем DHCP:''' sudo aptitude install dhcp3-server В конфигурационном файле dhcp3-server указываем интерфейс на котором dhcp будет работать: sudo nano /etc/default/dhcp3-server В моем случае получилось так: # Defaults for dhcp initscript # sourced by /etc/init.d/dhcp # installed at /etc/default/dhcp3-server by the maintainer scripts # # This is a POSIX shell fragment # # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0" Настраиваем dhcp сервер: Создаем копию исходного конфига: sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.back Редактируем конфиг: sudo nano /etc/dhcp3/dhcpd.conf В конфигурационном файле можно указать пул адресов который будет выдаватся клиентам, жесткую привязку ип адреса по мак адресу, днс сервера и шлюзы клиентов. У меня нету своего днс сервера, также динамическая выдача адресов мне тоже никчему, поэтом добавляю (пример для одного клиентского компьютера): subnet 192.168.0.0 netmask 255.255.255.0 { } group { # PXE-specific configuration directives... next-server 192.168.0.7; filename "/srv/tftp/thinstation.nbi"; # You need an entry like this for every host # unless you're using dynamic addresses host anisimova { hardware ethernet 00:20:ED:B7:E8:CF; fixed-address 192.168.0.34; } } где next-server 192.168.0.7; - указывает что dhcp сервер находится на ип адресе 192.168.0.7 (ип адрес сервера) ilename "/srv/tftp/thinstation.nbi"; - указывает откуда и какое ядро будет грузится на клиентском компьютере. host anisimova - имя клиентского компьютера hardware ethernet 00:20:ED:B7:E8:CF; - мак адрес сетевой карты клиентского компьютера fixed-address 192.168.0.34; - ип адрес который выдастся на основе мак адреса сетевой карте клиентского компьютера. Запускаем dhcp: sudo /etc/init.d/dhcp3-server start '''Устанавливаем TFTP.''' sudo apt-get install tftpd Cмотрим inetd.conf (конфигурационный файл супер сервера inetd): sudo nano /etc/inetd.conf Должно быть типа такого: tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp Если в inetd.conf внесли изменения то перезапускаем супер-сервер inetd: sudo invoke-rc.d openbsd-inetd restart Проверяем прослушивает ли inetd порт 69 (порт TFTP): sudo netstat -lnp | grep :69 Должно быть так: udp 0 0 0.0.0.0:69 0.0.0.0:* 7331/inetd Из inetd.conf видно что TFTP сервер будет располагатся в /srv/tftp. Создаем необходимую папку: sudo mkdir /srv/tftp Устанавливаем владельцем папки пользователя nobody, т.к. демонт tftpd запускается от пользователя nobody sudo chown nobody /srv/tftp '''Устанавливаем и настраиваем SSH.''' sudo apt-get install ssh Редактируем конфиг файл демона sshd: sudo nano /etc/ssh/sshd_config В нем проверяем значения, если они отличаются то заменяем их: PubkeyAuthentication yes AllowUsers nx Если в конфиг файле внесли изменения то перезапускаем сервис: sudo service sshd restart '''Устанавливаем RX@Etersoft.''' Скачиваем все пакет RX@Etersoft: sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/freenx-server_0.7.4-eter14debian_i386.deb sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/nx_3.3.0-eter5debian_i386.deb sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/nxclient_3.3.0.6-eter6debian_i386.deb sudo wget ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft/3.3.0-14/Debian/5.0/nxsadmin_0.2.1-eter3debian_i386.deb Устанавливаем: sudo apt-get install libcupsys2 sudo apt-get install expect sudo dpkg -i *.deb sudo nxsetup --install --setup-nomachine-key Основной конфигурационный файл располагается /etc/nxserver/node.conf. К сожалению конфиг на русском языке я ненашел, пришлось перевести самому (коряво конечно получилось, но суть понять можно): [[Медиа:Node.conf_ru]] После установки инициализируйте окружение системного пользователя nx с помощью команды: sudo /etc/init.d/freenx-server setup После успешного завершения, запуcкаем сервис: sudo /etc/init.d/freenx-server start Добавляем пользователей и указывваем их пароли для NX-сервера: sudo nxserver --adduser пользователь sudo nxserver --passwd пользователь '''Установка Thinstation 2.2 + PXE''' Thinstation представляет собой среду для компоновки (возможна и компиляция) загрузочного линукс ядра. Благодаря Thinstation можно скомпоновать из готовых пакетов единое ядро с поддержкой именно того железа которое стоит на стороне клиента и именно тех технологий и протоколов которые необходимы именно для конкретного клиента. Если в списке доступных пакетов нет необходимого, но в тоже время есть исходники этого драйвера, то можно скачать с офиц. сайта исходники системы, развернуть их, добавить в них исходники нежостающего драйвера, скомпилировать его, а потом как обычно скомпоновать готовое ядро. Скачиваем с официального сайта(размер около 60 мегабайт): sudo wget http://garr.dl.sourceforge.net/sourceforge/thinstation/Thinstation-2.2.2.tar.gz Распаковываем: sudo tar -zxvf Thinstation-2.2.2.tar.gz Получаем такую структуру: /Thinstation-2.2.2/boot-images - каталог куда помещаются скомпилированные образы загрузки /Thinstation-2.2.2/conf /Thinstation-2.2.2/Documentation - документация /Thinstation-2.2.2/kernel - ядро /Thinstation-2.2.2/packages - пакеты для сборки образа /Thinstation-2.2.2/src /Thinstation-2.2.2/utils /Thinstation-2.2.2/build /Thinstation-2.2.2/build.conf - конфигурационный файл где указываются все настройки сборки образа /Thinstation-2.2.2/build.conf.example - примерный конфигурационный файл где указываются все настройки сборки образа /Thinstation-2.2.2/ChangeLog /Thinstation-2.2.2/thinstation.conf.buildtime /Thinstation-2.2.2/thinstation.conf.buildtime.sample /Thinstation-2.2.2/thinstation.hosts.example К сожалению конфиг файла сборки ядра на русском языке я ненашел, пришлось перевести самому (коряво конечно получилось, но суть понять можно):[[Файл:Build.conf.example ru.txt]] Редактируем build.conf: sudo nano ~/Thinstation-2.2.2/build.conf Чтобы при подключении клиента NX к серверу каждый раз не появлялось окошко с предупреждением о незнакомом хосте, создадим в корне Thinstation файл known_hosts: ssh-keyscan -t rsa nxserver_ip>>~/thinstation/known_hosts В качестве «nxserver_ip» надо указать IP-адрес NX-сервера. Таким образом клиент будет знать о цифровом отпечатке rsa-ключа NX-сервера при аутентификации. Cоздаем образ запустив скрипт ~/thinstation-2.2.2/build. После комиляции в Thinstation-2.2.2 создается файл thinstation.conf.sample ([[Файл:Thinstation.conf.sample ru.txt]]) со всеми настройками самого ядра и всех интегрированных пакетов, к сожалению конфиг на русском языке я ненашел, пришлось перевести самому (коряво конечно получилось, но суть понять можно): Готовый файл образа находится по адресу ~/thinstation/boot-images/etherboot/thinstation.nbi. Копируем его на TFTFP-сервер: sudo cp ~/Thinstation-2.2.2/boot-images/etherboot/thinstation.nbi /srv/tftp sudo chown nobody /srv/tftp/thinstation.nbi sudo cp ~/Thinstation-2.2.2/thinstation.conf.buildtime /srv/tftp/thinstation.conf.network sudo chown nobody /srv/tftp/thinstation.conf.network [[Category:Настройка]] [[Category:Администрирование]] [[Category:Debian GNU/Linux]]
Шаблон:Заготовка
(
просмотреть исходный код
)
Возврат к странице
Терминальный сервер на основе Debian Lenny
.
Навигация
Заглавная страница
Сообщество
Текущие события
Свежие правки
Случайная статья
Справка
Поиск
Инструменты
Ссылки сюда
Связанные правки
Спецстраницы
Личные инструменты
Представиться системе