
Распинаться зачем оно нужно не буду, думаю если кто-то такое крутит то сам знает зачем оно ему *WASSUP*
В качестве подопытного кролика выступает Mageia 6 i586 (хотя работать должно, возможно с минимальными отличиями в конфигах, на любом дистрибутиве) [console]root@server.local:/ # echo `uname -rmo` `cat /etc/mageia-release`
4.12.14-server-1.mga6 i686 GNU/Linux Mageia release 6 (Official) for i586
[/console]
Для тех кто спросит почему ядро именно server: - игрался с ядрами, забыл откатиться на desktop.
Что потребуется:
- Ну естественно сама Маgeia 6
- DM с поддержкой xdmcp [[ так как KDM из магеи выпилили :( пришлось использовать LightDM ]]
- DHCP сервер [[ будем использовать dhcpd ]]
- TFTP сервер [[ в ход пойдет tftpd ]]
- ThinStation
Думаю про установку системы осoбо расказывать не нужно, т.к. установщик Mageia чертовски прост и понятен.
Настраивать всё это удобно не на локальной машине, а удаленно, т.к. появляется возможность всё проверять по ходу действий.
Для удаленных соединений используем SSH
[console]## устaнaвливаем sshd на сервере:
root@server.local:/ # urpmi openssh-server
## так как 99% прийдется делать под учеткой root'a - разрешаем ему подключаться по ssh
root@server.local:/ # echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
## перзапускаем демон ssh
root@server.local:/ # systemctl restart sshd
## теперь можнo подключиться с другой машины и продолжить
ssh с ключом -X - да просто по привычке, на выполнение консольных команд не влияет, а если понадобится запустить что-то с графикой - никаких проблем
user@client.pc:~> ssh -X root@192.168.0.10
[/console]
Начнем с установки всего что нужно:
[console]## по какой-то странной привычке я всегда включаю все доступные источники
root@server.local:/ # cp /etc/urpmi/urpmi.cfg /etc/urpmi/urpmi.cfg~ && cat /etc/urpmi/urpmi.cfg~ | sed 's/ignore//g' > /etc/urpmi/urpmi.cfg
## устанавливаем
root@server.local:/ # urpmi lightdm dhcp-server tftp-server syslinux
## на клиенте можнo установить xnest, с ним удобно проверить реакцию сервера на удаленные подключения
user@client.pc:~> urpmi x11-server-xnest
[/console]
"Сеть у меня сконфигурирована следующим образом, так что отталкиваться я буду от этого, естественно всунуть это все в одну подсеть - не проблема"

Настроим сетевые интерфейсы:
[console]root@server.local:/ # cat /etc/sysconfig/network-scripts/ifcfg-enp2s6
DEVICE=enp2s6
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.10
ONBOOT=yes
METRIC=10
MII_NOT_SUPPORTED=no
USERCTL=yes
DNS1=192.168.0.3
RESOLV_MODS=no
IPV6INIT=no
IPV6TO4INIT=no
ACCOUNTING=no
NM_CONTROLLED=no
root@server.local:/ # cat /etc/sysconfig/network-scripts/ifcfg-enp2s7
DEVICE=enp2s7
BOOTPROTO=static
IPADDR=192.168.0.10
NETMASK=255.255.255.0
GATEWAY=192.168.0.3
ONBOOT=yes
METRIC=10
MII_NOT_SUPPORTED=no
USERCTL=yes
DNS1=192.168.0.3
RESOLV_MODS=no
IPV6INIT=no
IPV6TO4INIT=no
ACCOUNTING=no
NM_CONTROLLED=no[/console]
Настраиваем dhcpd [console=inline] mcedit /etc/dhcpd.conf [/console]
[console]option ip-forwarding on; ## определяет возможность пересылки пакетов на клиенте.
default-lease-time 60; ## ||
min-lease-time 120; ## ||=> отвечают за сохранность IP за клиентом
max-lease-time 300; ## ||
authoritative; ## если интересно - читать здесь ==>
ddns-update-style interim;
log-facility local7; ## уровень логов, емнип 7-й самый низкий, т.е. минимум информации
subnet 192.168.1.0 netmask 255.255.255.0 { ## указывает на первую подсеть
range 192.168.1.101 192.168.1.200; ## диапазон адресов выдаваемых в подсети
option routers 192.168.1.10; ## адресс роутера
option subnet-mask 255.255.255.0; ## маска подсети
option domain-name-servers 192.168.0.3; ## адрес ДНС сервера (так как он есть на инет_роутере - отправим всех туда)
filename "pxelinux.0"; ## имя файла загрузчика (указывается относительно корня TFТP
next-server 192.168.1.10; ## адресc TFTP сервера
option root-path "192.168.1.10:/srv/tftp/nfs_root"; ## ресурс NFS, который будет использоваться как корневая ФС в случае загрузки через NFS
interface enp2s6; ## привязка к определенному интерфейсу
}
host st6012 { ## || выдаем статический адрес устройству
hardware ethernet 00:23:26:6a:12:f2; ## ||=> основываясь на его MAC'e
fixed-address 192.168.1.200; ## ||
}
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.199;
option routers 192.168.0.3;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.3;
interface enp2s7;
}
host xerox3040 {
hardware ethernet 43:09:5f:aa:09:a7;
fixed-address 192.168.0.189;
min-lease-time 7200;
}
host st6012wl {
hardware ethernet 34:23:87:10:17:01;
fixed-address 192.168.0.200;
[/console]
Так как в обе подсети адреса раздаются с нашего сервера не забываем отрубить DHCP на апаратном роутере!
Перезагружаем сетевые сервисы и DHCP
[console]root@server.local:/ # systemctl restart network.service
root@server.local:/ # systemctl restart dhcpd.service[/console]
Пришло время DM
[console]## Назначим LightDM менеджером дисплея по умолчанию
root@server.local:/ # echo 'DISPLAYMANAGER=LIGHTDM' > /etc/sysconfig/desktop
## Резрешим удаленные подключения
root@server.local:/ # echo -e "[XDMCPServer] \nenabled=true \nport=177" >> /etc/lightdm/lightdm.conf
## Перезапускаем службу:
root@server.local:/ # systemctl restart prefdm.service
[/console]
На этом этапе уже можно поглядеть на удаленный десктоп:
[console]user@client.pc:~> Xnest :1 -query 192.168.0.10
## после выполнения команды нас радостно должен поприветствовать экран входа удаленного LightDM
##если этого не случилось - внимательно всё перепроверяем[/console]
___________________________________________________
Продолжение ===>