Konfigurowanie serwera instalacyjnego PXE dla wielu dystrybucji Linuksa z Ubuntu Edgy Eft
Wersja 1.0
Autor: Falko Timme
Ten samouczek pokazuje, jak skonfigurować PXE (skrót od Preboot execution environment) serwer instalacyjny z Ubuntu 6.10 (Edgy Eft). Serwer instalacyjny PXE pozwala komputerom klienckim uruchamiać i instalować dystrybucję Linuksa przez sieć, bez konieczności nagrywania obrazów ISO Linuksa na CD/DVD, obrazy dyskietek startowych itp. Jest to przydatne, jeśli komputery klienckie nie mają dysków CD lub dyskietek, lub jeśli chcesz skonfigurować wiele komputerów w tym samym czasie (np. w dużym przedsiębiorstwie), lub po prostu dlatego, że chcesz zaoszczędzić pieniądze na płytach CD/DVD. W tym artykule pokażę jak skonfigurować serwer PXE, który pozwala na uruchamianie wielu dystrybucji: Ubuntu Edgy / Dapper, Debian Etch / Sarge, Fedora Core 6, CentOS 4.4, OpenSuSE 10.2 i Mandriva 2007.
chcę najpierw powiedzieć, że nie jest to jedyny sposób na stworzenie takiego systemu. Istnieje wiele sposobów osiągnięcia tego celu, ale tak właśnie postępuję. Nie daję żadnej gwarancji, że to zadziała dla ciebie!
1 Uwaga wstępna
ważne jest, aby mieć przyzwoite połączenie internetowe, ponieważ komputery klienckie pobierają wszystkie potrzebne pakiety z repozytoriów w Internecie (testowałem to na połączeniu 16Mbit ADSL2+, które wydaje się być wystarczająco szybkie. ;-)). Możliwe jest również przechowywanie wszystkich pakietów na serwerze PXE tak, że nie potrzebujesz połączenia z Internetem (tylko połączenie LAN z serwerem PXE), ale wtedy potrzebujesz dużo miejsca na serwerze PXE (pamiętaj, będzie obsługiwał wiele dystrybucji), więc nie omawiam tego tutaj.
i najważniejsze jest to, że komputery klienckie obsługują bootowanie przez sieć. Należy sprawdzić BIOS każdego komputera dla tej opcji.
na naszym systemie, który powinien służyć jako serwer PXE powinieneś już skonfigurować podstawowe Ubuntu 6.10 system serwera, na przykład jak pokazano na stronach 1 – 3 tego poradnika: http://www.howtoforge.com/perfect_setup_ubuntu_6.10
wolę wykonać wszystkie kroki tutaj jako użytkownik root. Jeśli nie utworzyłeś jeszcze konta roota, powinieneś to zrobić teraz:
sudo passwd root
następnie zaloguj się jako root:
su
Jeśli chcesz pracować jako zwykły użytkownik zamiast roota, pamiętaj, aby umieścić sudo przed wszystkimi poleceniami pokazanymi w tym samouczku. Więc kiedy uruchamiam
apt-get update
powinieneś uruchomić
sudo apt-get update
, itd.
2 zainstaluj wszystkie niezbędne pakiety
najpierw aktualizujemy naszą bazę pakietów, uruchamiając
apt-get update
musimy zainstalować pakiety netkit-inetd, tftpd-hPa, dhcp3-server i lftp, więc uruchamiamy
apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp
następnie uruchamiamy
netstat -uap
i sprawdź, czy widzisz coś takiego:
root@server1:~# netstat-UAP
aktywne połączenia internetowe (serwery i założone)
proto recv-Q send-Q adres lokalny adres zagraniczny stan PID / nazwa programu
UDP 0 0 *:tftp
Jeśli nie widzisz linii tftp, otwórz /etc/inetd.conf i upewnij się, że znajdziesz w nim następujące informacje:
vi /etc/inetd.conf
#:BOOT: Tftp service is provided primarily for booting. Most sites# run this only on machines acting as "boot servers."tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
następnie uruchom ponownie inetd:
/etc/init.d/inetd restart
3 Skonfiguruj serwer DHCP
serwer DHCP w naszej sieci lokalnej. Jeśli w Twojej sieci lokalnej nie ma serwera DHCP, po prostu skonfiguruj i użyj tego na przyszłym serwerze PXE. Po prostu edytuj /etc / dhcp3 / dhcpd.conf:
cp /etc/dhcp3/dhcpd.conf / etc / dhcp3 / dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf
vi /etc/dhcp3/dhcpd.conf
option domain-name-servers 145.253.2.75, 193.174.32.18;default-lease-time 86400;max-lease-time 604800;authoritative;subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1;}
to dynamicznie przypisze adresy IP z zakresu 192.168.0.10 do 192.168.0.49 do komputerów klienckich; bramka to 192.168.0.1. Oczywiście musisz dostosować tę konfigurację do własnego środowiska!
ważne jest, aby mieć linię
filename "pxelinux.0";
w swojej konfiguracji!
następnie uruchom ponownie serwer DHCP:
/etc/init.d/dhcp3-server restart
Jeśli masz już serwer DHCP w sieci, musisz zmodyfikować jego konfigurację. Załóżmy, że masz coś w stylu
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1;}
w konfiguracji. Musisz dodać
nazwę pliku „pxelinux.0”;
następny-serwer 192.168.0.100;
do niego (gdzie 192.168.0.100 to adres IP naszego serwera Ubuntu PXE) tak, aby wyglądał tak:
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; filename "pxelinux.0"; next-server 192.168.0.100;}
następnie uruchom ponownie serwer DHCP.