Máy chủ PXE (Preboot Execution Environment) cho phép người dùng khởi động một bản phân phối Linux từ một mạng và cài đặt nó trên hàng trăm máy tính tại một thời điểm mà không có bất kỳ hình ảnh ISO iso nào. Nếu máy tính của khách hàng của bạn không có ổ đĩa CD / DVD hoặc USB, hoặc nếu bạn muốn thiết lập nhiều máy tính cùng một lúc trong một doanh nghiệp lớn, thì máy chủ PXE có thể được sử dụng để tiết kiệm tiền và thời gian.

Trong bài này, chúng tôi sẽ giới thiệu cho các bạn cách cấu hình một máy chủ PXE trong Ubuntu 14.04.

Định cấu hình mạng

Để bắt đầu, trước tiên bạn cần phải thiết lập máy chủ PXE của bạn để sử dụng một IP tĩnh. Để thiết lập một địa chỉ IP tĩnh trong hệ thống của bạn, bạn cần chỉnh sửa tệp "/ etc / network / interfaces".

1. Mở tập tin “/ etc / network / interfaces”.

 sudo nano / etc / network / interfaces 

Thêm / chỉnh sửa như được mô tả bên dưới:

 # Giao diện mạng loopback tự động lo iface lo inet loopback # Giao diện mạng chính tự động eth0 iface eth0 inet địa chỉ tĩnh 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 

Lưu file và thoát. Điều này sẽ đặt địa chỉ IP thành “192.168.1.20”. Khởi động lại dịch vụ mạng.

 sudo /etc/init.d/networking restart 

Cài đặt DHCP, TFTP và NFS:

DHCP, TFTP và NFS là các thành phần thiết yếu để cấu hình máy chủ PXE. Trước tiên, bạn cần phải cập nhật hệ thống của bạn và cài đặt tất cả các gói cần thiết.

Đối với điều này, hãy chạy các lệnh sau:

 sudo apt-get cập nhật sudo apt-get cài đặt isc-dhcp-Máy chủ inetutils-inetd tftpd-hpa syslinux nfs-kernel-Máy chủ 

Cấu hình máy chủ DHCP:

DHCP là viết tắt của Dynamic Host Configuration Protocol, và nó được sử dụng chủ yếu để phân phối động các tham số cấu hình mạng như địa chỉ IP cho các giao diện và dịch vụ. Máy chủ DHCP trong môi trường PXE cho phép khách hàng yêu cầu và nhận địa chỉ IP tự động để truy cập vào các máy chủ mạng.

1. Chỉnh sửa tập tin “/ etc / default / dhcp3-server”.

 sudo nano / etc / default / dhcp3-server 

Thêm / chỉnh sửa như được mô tả bên dưới:

 INTERFACES = "eth0" 

Lưu (Ctrl + o) và thoát (Ctrl + x) tệp.

2. Chỉnh sửa tập tin “/etc/dhcp3/dhcpd.conf”:

 sudo nano /etc/dhcp/dhcpd.conf 

Thêm / chỉnh sửa như được mô tả bên dưới:

 mặc định-thuê-thời gian 600; thời gian thuê tối đa 7200; subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.21 192.168.1.240; tùy chọn subnet-mask 255.255.255.0; bộ định tuyến tùy chọn 192.168.1.20; tùy chọn địa chỉ quảng bá 192.168.1.255; tên tệp "pxelinux.0"; next-Server 192.168.1.20; } 

Lưu file và thoát.

3. Khởi động dịch vụ DHCP.

 sudo /etc/init.d/isc-dhcp-server start 

Định cấu hình máy chủ TFTP:

TFTP là một giao thức truyền tệp tương tự như FTP. Nó được sử dụng khi xác thực người dùng và khả năng hiển thị thư mục không cần thiết. Máy chủ TFTP luôn lắng nghe các máy khách PXE trên mạng. Khi nó phát hiện bất kỳ máy khách PXE mạng nào yêu cầu các dịch vụ PXE, thì nó cung cấp một gói mạng có chứa trình đơn khởi động.

1. Để cấu hình TFTP, hãy chỉnh sửa tập tin “/etc/inetd.conf”.

 sudo nano /etc/inetd.conf 

Thêm / chỉnh sửa như được mô tả bên dưới:

 tftp dgram udp chờ root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s / var / lib / tftpboot 

Lưu và thoát tệp.

2. Chỉnh sửa tập tin “/ etc / default / tftpd-hpa”.

 sudo nano / etc / mặc định / tftpd-hpa 

Thêm / chỉnh sửa như được mô tả bên dưới:

 TFTP_USERNAME = "tftp" TFTP_DIRECTORY = "/ var / lib / tftpboot" TFTP_ADDRESS = "[: 0.0.0.0:]:69" TFTP_OPTIONS = "- bảo mật" RUN_DAEMON = "có" OPTIONS = "- l -s / var / lib / tftpboot " 

Lưu và thoát tệp.

3. Kích hoạt dịch vụ khởi động để inetd tự động khởi động sau mỗi lần khởi động lại hệ thống và bắt đầu dịch vụ tftpd .

 sudo update-inetd - có thể khởi động dịch vụ BOOT sudo tftpd-hpa bắt đầu 

4. Kiểm tra trạng thái.

 sudo netstat -lu 

Nó sẽ hiển thị kết quả sau:

 Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ ngoại quốc udp 0 0 *: tftp *: * 

Cấu hình các tệp khởi động PXE

Bây giờ bạn cần tệp khởi động PXE “pxelinux.0” để có mặt trong thư mục gốc TFTP. Tạo cấu trúc thư mục cho TFTP và sao chép tất cả các tệp bộ nạp khởi động do syslinux cung cấp từ "/ usr / lib / syslinux /" vào đường dẫn "/ var / lib / tftpboot /" bằng cách phát hành các lệnh sau:

 sudo mkdir / var / lib / tftpboot sudo mkdir /var/lib/tftpboot/pxelinux.cfg sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp /usr/lib/syslinux/vesamenu.c32 / var / lib / tftpboot / sudo cp /usr/lib/syslinux/pxelinux.0 / var / lib / tftpboot / 

Thiết lập tệp cấu hình PXELINUX

Tệp cấu hình PXE xác định menu khởi động được hiển thị cho máy khách PXE khi nó khởi động và liên lạc với máy chủ TFTP. Theo mặc định, khi một PXE client khởi động, nó sẽ sử dụng địa chỉ MAC của nó để chỉ định tập tin cấu hình cần đọc, vì vậy chúng ta cần tạo tập tin mặc định chứa danh sách các hạt nhân có sẵn để khởi động.

Chỉnh sửa tệp cấu hình Máy chủ PXE với các tùy chọn cài đặt hợp lệ.

Để chỉnh sửa “/var/lib/tftpboot/pxelinux.cfg/default”

 sudo nano /var/lib/tftpboot/pxelinux.cfg/default 

Thêm / chỉnh sửa như được mô tả bên dưới:

 DEFAULT vesamenu.c32 THỜI GIAN 100 PROMPT 0 MENU BAO GỒM pxelinux.cfg / PXE.conf SỐ LƯỢNG 1 LABEL Hãy thử Ubuntu 14.04 Desktop MENU LABEL Thử Ubuntu 14.04 Desktop kernel Ubuntu / vmlinuz chắp thêm boot = casper netboot = nfs nfsroot = 192.168.1.20: / var / lib / tftpboot / Ubuntu / 14.04 / amd64 initrd = Ubuntu / initrd.lz splash yên tĩnh ENDTEXT LABEL Cài đặt Ubuntu 14.04 Desktop MENU LABEL Cài đặt Ubuntu 14.04 Desktop kernel Ubuntu / vmlinuz chắp thêm boot = casper tự động-ubiquity netboot = nfs nfsroot = 192.168.1.20: /var/lib/tftpboot/Ubuntu/14.04/amd64 initrd = Ubuntu / initrd.lz splash yên tĩnh ENDTEXT 

Lưu và thoát tệp.

Chỉnh sửa tệp "/var/lib/tftpboot/pxelinux.cfg/pxe.conf".

 sudo nano /var/lib/tftpboot/pxelinux.cfg/pxe.conf 

Thêm / chỉnh sửa như được mô tả bên dưới:

 MENU TITLE Máy chủ PXE NOESCAPE 1 ALLOWOPTIONS 1 PROMPT 0 MENU WIDTH 80 MENU ROWS 14 MENU TABMSGROW 24 MENU MARGIN 10 MÀU SẮC MẪU MẪU 30, 44 #ffffffff # 00000000 std 

Lưu và thoát tệp.

Thêm Ubuntu 14.04 Desktop Boot Images vào PXE Server

Đối với điều này, Ubuntu kernel và initrd tập tin được yêu cầu. Để có được những tập tin đó, bạn cần Ubuntu 14.04 Desktop ISO Image. Bạn có thể tải về ảnh ISO 14.04 ISO trong thư mục / mnt bằng cách đưa ra lệnh sau:

 sudo cd / mnt sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso 

Lưu ý : URL tải xuống có thể thay đổi khi hình ảnh ISO được cập nhật. Hãy xem trang web này để có liên kết tải xuống mới nhất nếu URL trên không hoạt động.

Gắn kết tệp ISO và sao chép tất cả các tệp vào thư mục TFTP bằng cách phát hành các lệnh sau:

 sudo mount -o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso / media / sudo cp -r / phương tiện / * /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp -r / media / .disk /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp /media/casper/initrd.lz / phương tiện / casper / vmlinuz / var / lib / tftpboot / Ubuntu / 

Cấu hình NFS Server để xuất các nội dung ISO

Bây giờ bạn cần phải thiết lập cài đặt nguồn Mirrors thông qua giao thức NFS. Bạn cũng có thể sử dụng httpftp cho Mirror Source cài đặt. Ở đây tôi đã sử dụng NFS để xuất các nội dung ISO.

Để cấu hình máy chủ NFS, bạn cần chỉnh sửa tệp "/ etc / exports".

 sudo nano / etc / xuất khẩu 

Thêm / chỉnh sửa như được mô tả bên dưới:

 /var/lib/tftpboot/Ubuntu/14.04/amd64 * (ro, async, no_root_squash, no_subtree_check) 

Lưu và thoát tệp. Để các thay đổi có hiệu lực, hãy xuất và bắt đầu dịch vụ NFS.

 sudo exportfs -a sudo /etc/init.d/nfs-kernel-server bắt đầu 

Bây giờ PXE Server của bạn đã sẵn sàng.

Cấu hình máy khách PXE khởi động mạng

Máy khách PXE có thể là bất kỳ hệ thống máy tính nào có tùy chọn kích hoạt khởi động mạng PXE. Bây giờ khách hàng của bạn có thể khởi động và cài đặt Ubuntu 14.04 Desktop bằng cách bật tùy chọn “Khởi động từ mạng” từ BIOS hệ thống của họ.

Bây giờ bạn đã sẵn sàng - khởi động PXE Client Machine với tùy chọn kích hoạt khởi động mạng, và bây giờ bạn sẽ thấy một menu phụ hiển thị cho Ubuntu 14.04 Desktop mà chúng ta đã tạo.

Phần kết luận

Cấu hình cài đặt khởi động mạng bằng máy chủ PXE hiệu quả và phương pháp tiết kiệm thời gian. Bạn có thể cài đặt hàng trăm ứng dụng khách tại một thời điểm trong mạng nội bộ của bạn. Tất cả những gì bạn cần là một máy chủ PXE và PXE cho phép khách hàng. Hãy dùng thử và cho chúng tôi biết nếu điều này phù hợp với bạn.

Tham khảo: PXE Server wiki PXE Server Ubuntu

Tín dụng hình ảnh: fupsol_unl_20