4.3. Chuẩn bị tập tin để khởi động qua mạng TFTP

Nếu máy tính của bạn có kết nối đến mạng cục bộ, bạn có thể có khả năng khởi động qua mạng từ máy khác bằng TFTP. Nếu bạn định khởi động hệ thống cài đặt từ máy khác, cần phải để các tập tin khởi động vào vị trí dứt khoát trên máy đó, cũng cấu hình máy đó để hỗ trợ khả năng khởi động máy tính riêng của bạn.

Bạn cần phải thiết lập một trình phục vụ TFTP, và cho nhiều máy cũng cần một trình phục vụ DHCP.

Giao thức truyền tập tin không đáng kể (TFTP) được dùng để phục vụ ảnh khởi động cho ứng dụng khách. Về lý thuyết có thể sử dụng bất kỳ trình phục vụ nào trên bất kỳ nền tảng nào mà thực hiện những giao thức này. Những lời thí dụ trong tiết đoạn này sẽ cung cấp lệnh riêng cho hệ điều hành SunOS 4.x, SunOS 5.x (cũng tên Solaris), và GNU/Linux.

4.3.1. Thiết lập trình phục vụ DHCP

Một trình phục vụ DHCP phần mềm tự do là dhcpd ISC. Đối với Debian GNU/Linux, gói dhcp3-server khuyến khích. Đây là một tập tin cấu hình mẫu cho nó (xem /etc/dhcp3/dhcpd.conf):

option domain-name "mẫu.com";
option domain-name-servers ns1.mẫu.com;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "tên_máy_phục_vụ";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option routers 192.168.1.1;
}

host tên_máy_khách {
  filename "/tftpboot.img";
  server-name "tên_máy_phục_vụ";
  next-server tên_máy_phục_vụ;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

[option			tùy chọn
domain-name		tên miền
domain name servers	các máy phục vụ tên miền
subnet-mask		mặt nạ mạng phụ
default-lease-time		thời gian thuê mặc định
max-lease-time	thời gian thuê tối đa
server-name		tên máy phục vụ
subnet			mạng phụ
netmask			mặt nạ mạng
range			phạm vị
routers			các bộ định tuyến
host				máy (hỗ trợ)
filename			tên tập tin
hardware ethernet	Ethernet phần cứng
fixed-address		địa chỉ cố định]

Trong lời thí dụ này, có một máy phục vụ tên tên_máy_phục_vụ mà làm mọi công việc của trình phục vụ DHCP, trình phục vụ TFTP và cổng ra mạng. Bình thường, bạn sẽ cần phải thay đổi những tùy chọn tên miền (domain-name), cũng như tên máy phục vụ (server-name) và địa chỉ phần cứng (hardware address) của máy khách. Tùy chọn filename (tên tập tin) nên là tên tập tin sẽ được lấy thông qua TFTP.

Sau khi bạn chỉnh sửa tập tin cấu hình của trình nền dhcpd, hãy khởi chạy lại nó bằng lệnh /etc/init.d/dhcpd3-server restart.

4.3.2. Bật chạy trình phục vụ TFTP

Để chuẩn bị trình phục vụ TFTP, trước tiên bạn nên đảm bảo rằng tftpd được hiệu lực.

Trong trường hợp của tftpd-hpa, có hai phương pháp chạy dịch vụ. Nó có thể được khởi chạy theo yêu cầu bởi trình nền inetd của hệ thống, hoặc nó có thể được thiết lập để chạy như là một trình nền độc lập. Phương pháp này được chọn khi gói được cài đặt, và lúc nào cũng có thể được thay đổi bằng cách cấu hình lại gói đó.

Ghi chú

Trong quá khứ, máy phục vụ TFTP đã dùng /tftpboot như là thư mục từ đó cần phục vụ ảnh. Tuy nhiên, các gói Debian GNU/Linux có thể sử dụng thư mục khác để tuân theo Tiêu Chuẩn Phân Cấp Hệ Thống Tập Tin (FHS). Chẳng hạn, tftpd-hpa theo mặc định sử dụng thư mục /srv/tftp. Có lẽ bạn cần phải điều chỉnh những mẫu cấu hình trong phần này một cách tương ứng.

Tất cả các sự chọn in.tftpd khác sẵn sàng trong Debian thì nên ghi lưu các yêu cầu TFTP vào sổ theo dõi hệ thống theo mặc định. Một số điều cũng hỗ trợ một đối số -v để tăng mức chi tiết của kết xuất. Khuyên bạn kiểm tra các thông điệp ghi lưu này trong trường hợp gặp vấn đề khởi động, vì sổ theo dõi là một điểm bắt đầu hữu ích để chẩn đoán nguyên nhân của lỗi.

Nếu bạn định cài đặt Debian trên máy kiểu SGI và máy phục vụ TFTP chạy hệ điều hành Linux phiên bản 2.4, bạn cần phải nhập dòng này vào máy phục vụ :

# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc

để tắt khả năng phát hiện « Path MTU ». Nếu không, PROM của SGI không thể tải về hạt nhân. Hơn nữa, hãy kiểm tra xem các gói tin TFTP được gởi từ cổng nguồn có số hiệu dưới 32768, nếu không thì việc tải về sẽ bị ngừng chạy sau gói tin thứ nhất. Lần nữa, HĐH Linux 2.4.X gây ra lỗi này trong PROM, và bạn có thể tránh trường hợp này bằng cách nhập

# echo "2048 32767" > /proc/sys/net/ipv4/phạm_vị_cổng_cục_bộ_IP

để điều chỉnh phạm vị cổng nguồn sẵn sàng cho trình phục vụ TFTP Linux sử dụng.

4.3.3. Xác định vị trí của ảnh TFTP

Sau đó, hãy để ảnh khởi động TFTP cần thiết (như được tìm trong Phần 4.2.1, “Tìm ảnh cài đặt ở đâu”) vào thư mục ảnh khởi động của trình nền tftpd. Có lẽ bạn cần phải tạo một liên kết từ tập tin đó đến tập tin mà tftpd sẽ sử dụng để khởi động máy khách riêng. Tiếc là tên tập tin được quyết định bởi máy khách TFTP, và chưa có tiêu chuẩn mạnh nào.

4.3.3.1. Khởi động TFTP SGI

Trên máy kiểu SGI, bạn có thể nhờ trình nền bootpd cung cấp tên của tập tin TFTP. Tên này được hiển thị hoặc là tùy chọn bf= nằm trong tập tin /etc/bootptab hoặc là tùy chọn filename= nằm trong tập tin cấu hình /etc/dhcpd.conf.