FreeBSD Logo               

Skąd pobrać FreeBSD? Wybierz serwer ftp:
 

 


Dokumentacja
 
manuale  
  faq 
 
handbook

Jak to zrobić?
  Instalacja
  Komendy
  Usługi
  Upgrade
  NFS
  Jądro
  SDI-PPP
  Identyfikacja
  Quota
  OpenSSH
  TelnetSSL 
  Agenci MTA
  POP3 i SMTP
  Autoryzacja
  Serwer WWW
  Serwer NEWS
  Serwer Nazw
  ProFTPD
  IPv6
  Squid
  Samba
  DHCP
  Dummynet
  Ipfilter
  PF
  Polonizacja
  VMvare
  Udostępnianie
  Mały Router
 
Terminal
  Linux2FreeBSD

Niusy
  pl.comp.os.bsd

Po polsku
  bsdzine.org
  freebsd.pl
  www.bsd4u.org
  www.bsdguru.org
  bofh.vt.pl

Po innemu
  bsdvault.net
  freebsdhowtos.com
  freebsd-howto.com

Linkownia



Studio reklamowe

Usługi informatyczne MAC



 

Terminale bezdyskowe

Artykuł ten zajmuje się opisem konfiguracji bezdyskowego terminala. W ten sposób ze starych komputerów jak i nowych, można zrobić pełnowartościowe terminale. Będziemy potrzebowali to tego dwóch narzędzi: isc-dhcp3 oraz etherboot. Pierwsze z nich to serwer dhcp, a drugie pozwoli nam zbudować dyskietkę bootującą dla naszego terminala.

Uwaga: żeby wszystko dobrze działało potrzebujemy FreeBSD w wersji Release lub skompilowaną kompatybilnie ze sprzętem naszego terminala.

Zatem klepiemy:

$ cd /usr/ports/net/isc-dhcp3
$ make install clean
$ cd /usr/ports/net/etherboot
$ make

Na początku potrzebujemy stworzyć dyskietkę startową, która pozwoli załadować naszemu terminalowi jądro systemu prosto z serwera. Klepiemy więc:

$ cd /usr/ports/net/etherboot/work/etherboot-5.0.4/src

Aby wiedzieć jaki sterownik będzie potrzebny do naszej karty sieciowej w terminalu, proponuje przejrzeć plik NIC. Jeśli już zlokalizujemy potrzebny nam sterownik to klepiemy:

$ gmake bin32/<sterownik>.fd0
np:
$ gmake bin32/lance.fd0

W ten oto sposób mamy gotową bootującą się dyskietkę startową.

Następnym krokiem jest konfiguracja dhcp. Klepiemy więc plik /usr/local/etc/dhcpd.conf:

# Podstawowe opcje, które się prawie zawsze ustawia. Dla nas nie mają żadnego znaczenia. Zainteresowanym polecam: man dhcpd.conf .

default-lease-time 600;
max-lease-time 7200;
authoritative;

# Nasza domena.
option domain-name "example.com";

# Adres serwera DNS.
option domain-name-servers 169.255.0.10;

# Adres naszego router'a jesli go posiadamy :).
option routers 192.168.0.1;

# A teraz konfiguracja naszej podsieci.
subnet 169.255.0.0 netmask 255.255.255.0 {

# Jeśli ta opcja jest włączona, wtedy nazwa hosta przy jego deklaracji będzie zwracana klientowi jako jego nazwa.
use-host-decl-names on;

# Maska naszej podsieci.
option subnet-mask 255.255.255.0;

# Adres broadcast naszej podsieci.
option broadcast-address 169.255.0.255;

# A teraz deklaracja naszego terminala.
host term1 {

# Adres ethernet(sprzętowy) karty sieciowej naszego terminala.
hardware ethernet 00:bd:93:fd:bc:0e;

# Domena naszego terminala, je¶li j± oczywi¶cie posiada. Jak jej nie mamy to pomijamy # tę opcję. fixed-address term1.example.com;

# Adres serwera , z którego będziemy pobierać główny system plików oraz j±dro.
next-server 169.255.0.1;

# Miejsce na naszym serwerze, gdzie znajduje ( bądź będzie ) się znajdować jądro dla naszego terminala.
filename "/usr/home/diskless/kernel.diskless";

# Adres głównego systemu plików dla naszego terminala na serwerze. Udostępniany jest # on przez usługę NFS. Jego konfiguracją zajmiemy się w następnej kolejności.
option root-path "169.255.0.1:/usr/home/diskless/term1";
}
}

Mamy już zatem konfigurację dhcp, więc teraz kolej na przygotowanie jądra systemu dla naszego terminala. Możemy się do tego posłużyć standardowym jądrem GENERIC, ale potrzebujemy je skompilować z trzema dodatkowymi opcjami. Klepiemy więc:

$ cd /sys/i386/conf
$ cp GENERIC DISKLESS

A następnie dodajemy do DISKLESS następujące opcję:

options BOOTP
options BOOTP_NFSROOT
options BOOTP_COMPAT

Teraz kompilujemy nowe jądro.

$ config DISKLESS
$ cd ../../compile/DISKLESS
$ make depend
$ make

I przenosimy je do /usr/home/diskless/kernel.diskless

$ cp kernel /usr/home/diskless/kernel.diskless

Potrzeba nam jeszcze skonfigurować serwer tftpd ( który pozwoli przesłać jądro do terminala) oraz NFS ( który posłuży do przesłania reszty plików ), dodajemy więc do /etc/inetd.conf:

tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /usr/home/diskless

# Oraz restartujemy demona inetd.

$ killall -HUP inetd

Potrzebujemy jeszcze dodać wpis do DNS lub do /etc/hosts z adresem IP naszego terminala. Dodajemy więc do /etc/hosts linię:

169.255.0.30 term1.example.org term1

A teraz konfiguracja nfs, klepiemy /etc/exports:

/usr -alldirs -maproot=root term1
# Jeszcze restart NFS. $ killall -HUP mountd

Jeśli nie masz uaktywnionego nfs, to dodaj do rc.conf nfs_server_enable="YES"

Na koniec zostało nam stworzenie głównego drzewa katalogów dla naszego terminala klepiemy więc:

$ mkdir /usr/home/diskless/term1
$ cd /usr/share/examples/diskless


Edytujemy clone_root i zmieniamy zmienna DEST na /usr/home/diskless/term1

$ sh clone_root all

Teraz tworzymy podstawowe pliki konfiguracyjne dla naszego terminala.

$ mkdir -p /usr/home/diskless/term1/conf/default/etc
$ cd /usr/home/diskless/term/conf/default/etc

Klepiemy fstab:

# Drzewo, które przed chwilą stworzyliśmy.
169.255.0.1:/usr/home/diskless/term1 / nfs ro 0 0
# Oraz drzewo usr na naszym serwerze
169.255.0.1:/usr /usr nfs ro 0 0
proc /proc procfs rw 0 0

Oraz rc.conf:

# Wyłączamy sendmail'a
sendmail_enable="NO"
# Wyłączamy inetd'a.
inetd_enable="NO"
# Opcja ta zapewni nas, że skrypty z /usr/local/etc/rc.d na serwerze nie zostaną uruchomione.
local_startup=""

Wszystko gotowe, więc możemy odpalać nasz terminal.


(c) Krzysztof Pawłowski
http://paruwa.ekipa.lublin.pl/~msciciel


grudzień 2002

 





Kontakt  

© 2001-2009 FreeBSD Projekt
Wszelkie Prawa Zastrzeżone.