2.5.2. BIOS 기반 클라이언트용 TFTP 서버 구성
다음 절차를 사용하여 TFTP 서버와 DHCP 서버를 구성하고 BIOS 기반 AMD 및 Intel 64비트 시스템용 PXE 서버에서 TFTP 서비스를 시작합니다.
이 섹션의 모든 구성 파일은 예시입니다. 구성 세부 정보는 아키텍처 및 특정 요구 사항에 따라 다릅니다.
절차
root로 다음 패키지를 설치합니다. 네트워크에 DHCP 서버가 이미 구성되어 있는 경우
dhcp-server
패키지를 제외합니다.# dnf install tftp-server dhcp-server
방화벽에서
tftp service
에 대한 수신 연결을 허용합니다.# firewall-cmd --add-service=tftp
참고-
이 명령은 다음 서버가 재부팅될 때까지 임시 액세스를 활성화합니다. 영구 액세스를 활성화하려면 명령에
--permanent
옵션을 추가합니다. - 설치 ISO 파일의 위치에 따라 HTTP 또는 기타 서비스에 대해 들어오는 연결을 허용해야 할 수 있습니다.
-
이 명령은 다음 서버가 재부팅될 때까지 임시 액세스를 활성화합니다. 영구 액세스를 활성화하려면 명령에
다음 예제
/etc/dhcp/dhcpd.conf
파일에 표시된 대로 SYSLINUX와 함께 패키지된 부팅 이미지를 사용하도록 DHCP 서버를 구성합니다. DHCP 서버가 이미 구성된 경우 DHCP 서버에서 이 단계를 수행합니다.option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "BOOTX64.EFI"; } else { filename "pxelinux/pxelinux.0"; } } }
DVD ISO 이미지 파일의
SYSLINUX
패키지에서pxelinux.0
파일에 액세스합니다. 여기서 my_local_directory는 생성한 디렉터리의 이름입니다.# mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
# cp -pr /mount_point/BaseOS/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
# umount /mount_point
패키지를 추출합니다.
# rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
tftpboot/
에pxelinux/
디렉터리를 만들고 디렉터리의 모든 파일을pxelinux/
디렉터리에 복사합니다.# mkdir /var/lib/tftpboot/pxelinux
# cp my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
pxelinux/
디렉터리에pxelinux.cfg/
디렉터리를 만듭니다.# mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
default
라는 구성 파일을 생성하고 다음 예와 같이pxelinux.cfg/
디렉터리에 추가합니다.default vesamenu.c32 prompt 1 timeout 600 display boot.msg label linux menu label ^Install system menu default kernel images/RHEL-9/vmlinuz append initrd=images/RHEL-9/initrd.img ip=dhcp inst.repo=http://10.32.5.1/RHEL-9/x86_64/iso-contents-root/ label vesa menu label Install system with ^basic video driver kernel images/RHEL-9/vmlinuz append initrd=images/RHEL-9/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/RHEL-9/x86_64/iso-contents-root/ label rescue menu label ^Rescue installed system kernel images/RHEL-9/vmlinuz append initrd=images/RHEL-9/initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff
참고-
설치 프로그램은 런타임 이미지 없이는 부팅할 수 없습니다.
inst.stage2
부팅 옵션을 사용하여 이미지 위치를 지정합니다. 또는inst.repo=
옵션을 사용하여 이미지와 설치 소스를 지정할 수 있습니다. -
inst.repo
와 함께 사용되는 설치 소스 위치에는 유효한.treeinfo
파일이 포함되어야 합니다. -
RHEL9 설치 DVD를 설치 소스로 선택하면
.treeinfo
파일이 BaseOS 및 AppStream 리포지토리를 가리킵니다. 단일inst.repo
옵션을 사용하여 두 리포지토리를 로드할 수 있습니다.
-
설치 프로그램은 런타임 이미지 없이는 부팅할 수 없습니다.
/var/lib/tftpboot/
디렉터리에 부팅 이미지 파일을 저장하고 부팅 이미지 파일을 디렉터리에 복사합니다. 이 예에서 디렉터리는/var/lib/tftpboot/pxelinux/images/RHEL-9/
입니다.# mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-9/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-9/
DHCP 서버에서
dhcpd
서비스를 시작하고 활성화합니다. localhost에 DHCP 서버를 구성한 경우 localhost에서dhcpd
서비스를 시작하고 활성화합니다.# systemctl start dhcpd # systemctl enable dhcpd
tftp.socket
서비스를 시작하고 활성화합니다.# systemctl start tftp.socket # systemctl enable tftp.socket
이제 PXE 부팅 서버가 PXE 클라이언트를 제공할 준비가 되었습니다. Red Hat Enterprise Linux를 설치하는 시스템인 클라이언트를 시작하고, 부팅 소스를 지정하라는 메시지가 표시되면 PXE 부팅 을 선택한 다음 네트워크 설치를 시작할 수 있습니다.