Witam
W tym wpisie chciałbym choć troszkę przybliżyć działanie dość ciekawego projektu.Jest nim Linux Terminal Server Project, który w sposób znaczący ogranicza wydatki na sprzęt w firmach. Dlaczego? Ponieważ do uruchomienia klienta wystarczy nam dowolne MiniPC czy kilkuletni komputer.
Osobiście jestem bardzo początkującym użytkownikiem Linuxa(w sumie nowa praca mnie do tego zmusiła na co wcale nie narzekam :-) ), więc proszę o dystans do mojego podejścia do tematu.
Ważne
Pomijam w tym wpisie procesy elementarne np. ustawianie statycznego adresu ip dla interfejsu, tablice routingu itp. Zakładam,że każdy użytkownik zabierający się za konfigurację serwera terminalowego nie ma z tym większego problemu :)
Środowisko!
PC z Ubuntu 14.04 64bit
Intel NUC Kit DN2820FYK
Switch TP-LINK TLSG-108
Porada
Pierwszą instalację oraz konfigurację polecam zrobić na wersji jądra 4.x
Dlaczego?
Ponieważ wersje niższe potrafią odmawiać posłuszeństwa we współpracy z niektórymi MiniPC. W komputerach stacjonarnych nie zauważyłem tej nieprawidłowości. Dla takich MiniPC w wersji jądra poniżej 4 trzeba tworzyć profile oraz kojarzyć je z urządzeniami, co w tej części wpisu wolał bym uniknąć.
Od słów do czynów!
To co musimy mieć zainstalowane na swojej dystrybucji to:
TFTP:
sudo apt-get install tftp
NFS:
sudo apt-get install nfs-common
DHCP:
sudo apt-get install isc-dhcp-server
SSH:
sudo apt-get install openssh-server
Konfiguracja DHCP
Polecam konfigurację rozpocząć od ustawienia interfejsu na adres statyczny. W moim przypadku to będzie: 192.168.0.1/24. Następnie polecam usunąć powstały na skutek instalacji podstawowy plik konfiguracyjny poleceniem:
sudo rm -r /etc/dhcp/dhcpd.conf
Utworzenie pustego:
sudo touch /etc/dhcp/dhcpd.conf
Oraz edycję:
sudo nano /etc/dhcp/dhcpd.conf
A tu przedstawiam przykładową konfigurację której sam używałem:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.20 192.168.0.40;
option domain-name "przyklad.pl";
option domain-name-servers 8.8.8.8;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
next-server 192.168.0.1;
# get-lease-hostnames true;
option subnet-mask 255.255.255.0;
option root-path "/opt/ltsp/amd64";
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/amd64/pxelinux.0";
} else {
filename "/ltsp/amd64/nbi.img";
}
}
Trzeba pamiętać o wybraniu domyślnego interfejsu w pliku:
sudo nano /etc/default/isc-dhcp-server
Znajdujemy linię:
Interfaces = "" <- i tu wpisujemy nazwę naszego interfejsu.
No i teraz to co najciekawsze!
Instalację odpowiednich pakietów oraz wstępną konfigurację rozpoczynamy poleceniem:
sudo apt-get install ltsp-server-standalone
A tą komendą "zbudujemy cienkiego klienta":
sudo ltsp-build-client
Zróbmy sobie przykładowego użytkownika o nazwie test
sudo adduser test
W ten sposób mamy poprawnie skonfigurowane podstawowe środowisko!
Poprawne bootowanie:
Przykład bootowania. Aby je przetestować należy połączyć serwer z klientem przy pomocy switcha oraz podziwiać oto taki widok:
Tak powinno wyglądać nasze pierwsze logowanie! A teraz troszkę teorii, która pozwoli nam lepiej zrozumieć istotę samego projektu. Klienci logują się do swoich kont za pomocą kont lokalnych w standardowej konfiguracji.Wszystkie działania wykonywane są na serwerze, a tylko wyniki w postaci x-ów przesyłane są do terminali. Stacje takie nie muszą posiadać dysku! Wszystko przechowuje się na serwerze. Daje nam to bardzo dużą kontrolę nad użytkownikami w naszej sieci oraz bardzo ogranicza koszt sprzętu, kiedy potrzebujemy zwiększyć liczbę stanowisk. Samo uruchomienie usługi w środowisku testowym daje sporo frajdy.
Zdaje sobie sprawę z częściowo chaotycznego i okrojonego charakteru tego wpisu. Jestem praktykiem, więc sam nie lubię wychodzić poza zbędne minimum teorii.Specjalnie nie zamieszczałem zbyt wielkiej ilości treści z wikipedii, ponieważ jest to na wyciągnięcie ręki. Wpisy będą kontynuowane więc sądzę, że na sam początek to wystarczy.
Czekam na opinie oraz opisy. W razie jakichkolwiek problemów pozostaję do dyspozycji.
have fun!
PS:
Dla leniwców :)