Pada artikel ini, mari kita bahas tentang cara mengatur tftpboot, termasuk instalasi paket yang diperlukan, dan konfigurasi tftpboot.
Layanan booting TFTP terutama digunakan untuk melakukan instalasi OS pada mesin jarak jauh yang akses fisiknya tidak Anda miliki. Untuk melakukan instalasi OS dengan sukses, harus ada cara untuk me-reboot server jarak jauh — baik menggunakan wakeonlan atau seseorang secara manual me-reboot atau beberapa cara lain.
Dalam skenario tersebut, Anda dapat mengatur layanan tftpboot yang sesuai dan instalasi OS dapat dilakukan dari jarak jauh (Anda harus memiliki file konfigurasi autoyast untuk mengotomatiskan langkah-langkah instalasi OS).
Prosedur langkah demi langkah disajikan dalam artikel ini untuk SLES10-SP3 dalam arsitektur 64bit. Namun, langkah-langkah ini sangat mirip dengan distribusi Linux lainnya.
Paket Wajib
Paket-paket berikut perlu diinstal untuk pengaturan tftpboot.
- paket layanan dhcp:dhcp-3.0.7-7.5.20.x86_64.rpm dan dhcp-server-3.0.7-7.5.20.x86_64.rpm
- paket tftpboot:tftp-0.48-1.6.x86_64.rpm
- paket pxeboot:syslinux-3.11-20.14.26.x86_64.rpm
Instalasi Paket
Instal paket untuk layanan server dhcp:
$ rpm -ivh dhcp-3.0.7-7.5.20.x86_64.rpm Preparing... ########################################### [100%] 1:dhcp ########################################### [100%] $ rpm -ivh dhcp-server-3.0.7-7.5.20.x86_64.rpm Preparing... ########################################### [100%] 1:dhcp ########################################### [100%] $ rpm -ivh tftp-0.48-1.6.x86_64.rpm $ rpm -ivh syslinux-3.11-20.14.26.x86_64.rpm
Setelah menginstal paket syslinux, file pxelinux.0 akan dibuat di bawah direktori /usr/share/pxelinux/. Ini diperlukan untuk memuat instalan kernel dan image initrd pada mesin klien.
Verifikasi bahwa paket berhasil diinstal.
$ rpm -qa | grep dhcp $ rpm -qa | grep tftp
Unduh tftpserver yang sesuai dari repositori distribusi Linux Anda masing-masing.
Langkah-langkah untuk mengatur tftpboot
Langkah 1:Buat direktori /tftpboot
Buat direktori tftpboot di bawah direktori root ( / ) seperti yang ditunjukkan di bawah ini.
# mkdir /tftpboot/
Langkah 2:Salin gambar pxelinux
Gambar PXE Linux akan tersedia setelah Anda menginstal paket syslinux. Salin ini ke /tftpboot path seperti yang ditunjukkan di bawah ini.
# cp /usr/share/syslinux/pxelinux.0 /tftpboot
Langkah 3:Buat titik pemasangan untuk ISO dan pasang citra ISO
Mari kita asumsikan bahwa kita akan menginstal distribusi Linux SLES10 SP3 pada server jarak jauh. Jika Anda memiliki DVD SUSE10-SP3, masukkan ke dalam drive atau pasang citra ISO yang Anda miliki. Di sini, gambar iso telah dipasang sebagai berikut:
# mkdir /tftpboot/sles10_sp3 # mount -o loop SLES-10-SP3-DVD-x86_64.iso /tftpboot/sles10_sp3
Lihat artikel kami sebelumnya tentang Cara memasang dan melihat file ISO.
Langkah 4:Salin gambar vmlinuz dan initrd ke /tftpboot
Salin initrd ke direktori tftpboot seperti yang ditunjukkan di bawah ini.
# cd /tftpboot/sles10_sp3/boot/x86_64/loader # cp initrd linux /tftpboot/
Langkah 5:Buat Direktori pxelinux.cfg
Buat direktori pxelinux.cfg di bawah /tftpboot dan tentukan definisi boot pxe untuk klien.
# mkdir /tftpboot/pxelinux.cfg # cat >/tftpboot/pxelinux.cfg/default default linux label linux kernel linux append initrd=initrd showopts instmode=nfs install=nfs://192.168.1.101/tftpboot/sles10_sp3/
Opsi berikut digunakan untuk,
- kernel – menentukan di mana menemukan kernel instalasi Linux di server TFTP.
- install – menentukan argumen boot untuk diteruskan ke kernel install.
Sesuai entri di atas, mode instal nfs digunakan untuk melayani RPM instal dan file konfigurasi. Jadi, siapkan nfs di mesin ini dengan direktori /tftpboot di daftar yang diekspor. Anda dapat menambahkan opsi “autoyast” dengan file konfigurasi autoyast untuk mengotomatiskan langkah-langkah penginstalan OS jika tidak, Anda perlu menjalankan langkah-langkah penginstalan secara manual.
Langkah 6:Ubah pemilik dan izin untuk direktori /tftpboot
Tetapkan none:nobody ke direktori /tftpboot.
# chown nobody:nobody /tftpboot # chmod 777 /tftpboot
Langkah 7:Ubah /etc/dhcpd.conf
Ubah /etc/dhcpd.conf seperti yang ditunjukkan di bawah ini.
# cat /etc/dhcpd.conf ddns-update-style none; default-lease-time 14400; filename "pxelinux.0"; # IP address of the dhcp server nothing but this machine. next-server 192.168.1.101; subnet 192.168.1.0 netmask 255.255.255.0 { # ip distribution range between 192.168.1.1 to 192.168.1.100 range 192.168.1.1 192.168.1.100; default-lease-time 10; max-lease-time 10; }
Tentukan antarmuka di /etc/syslinux/dhcpd untuk mendengarkan permintaan dhcp yang datang dari klien.
# cat /etc/syslinux/dhcpd | grep DHCPD_INTERFACE DHCPD_INTERFACE=”eth1”;
Di sini, mesin ini memiliki alamat ip 192.168.1.101 pada perangkat eth1. Jadi, tentukan eth1 untuk DHCPD_INTERFACE seperti yang ditunjukkan di atas.
Pada catatan terkait, lihat artikel kami sebelumnya tentang 7 contoh untuk mengonfigurasi antarmuka jaringan menggunakan ifconfig.
Langkah 8:Ubah /etc/xinetd.d/tftp
Ubah file /etc/xinetd.d/tftp untuk mencerminkan hal berikut. Secara default nilai untuk parameter disable adalah “yes”, pastikan Anda mengubahnya menjadi “no” dan Anda perlu mengubah entri server_args menjadi -s /tftpboot.
# cat /etc/xinetd.d/tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no }
Langkah 9:Tidak ada perubahan di /etc/xinetd.conf
Tidak perlu memodifikasi file etc/xinetd.conf. Gunakan nilai default yang ditentukan dalam file xinetd.conf.
Langkah 10:Mulai ulang layanan xinetd, dhcpd, dan nfs
Mulai ulang layanan ini seperti yang ditunjukkan di bawah ini.
# /etc/init.d/xinetd restart # /etc/init.d/dhcpd restart # /etc/init.d/nfsserver restart
Setelah me-restart layanan nfs, Anda dapat melihat daftar direktori yang diekspor (/tftpboot) dengan perintah berikut,
# showmount -e
Akhirnya, pengaturan tftpboot sudah siap dan sekarang mesin klien dapat di-boot setelah mengubah perangkat boot pertama sebagai "jaringan" dalam pengaturan BIOS.
Jika Anda menemukan kesalahan tftp, Anda dapat melakukan pemecahan masalah dengan mengambil beberapa file melalui layanan tftpd.
Ambil beberapa file dari tftpserver untuk memastikan layanan tftp bekerja dengan benar menggunakan klien tftp. Mari kita asumsikan bahwa file sample.txt ada di bawah direktori /tftpboot.
$ tftp -v 192.168.1.101 -c get sample.txt