답변:
이것은 나의 이해입니다!
PXE (클라이언트 측)는 IP 요청을 브로드 캐스트합니다. IP, Next Server IP (TFTP 서버 IP), pxelinux.0
(PXE 부트 스트랩 로더 파일 이름) 등 의 필수 정보를 포함한 DHCP 서버 응답
PXE (클라이언트 측) pxelinux.0
는 TFTP 서버에서 파일을 요청하고 파일을 RAM에로드 한 다음 제어를로 전달합니다 pxelinux.0
.
pxelinux.0
TFTP 서버에서 다음과 같은 이름으로 부팅 구성 파일을 가져옵니다
(없는 경우 다음으로 시도)
default
파일로 삭제사용자 선택 또는 기본 메뉴 항목. pxelinux.0
TFTP 서버에서 해당 커널과 RAMDisk를 요청하여 RAM에로드합니다.
그런 다음 부팅 매개 변수와 제어를로드 된 커널에 전달합니다.
커널은 기능 / 속성에 따라 TFTP 서버 또는 다른 프로토콜 서버에서 나머지 부분을로드합니다.
PXE 서버를 설정하는 방법은 여러 가지가 있는데,이 중 하나입니다.
이 지침은 실제 컴퓨터의 Ubuntu 9.10 및 Ubuntu 10.04 에서 테스트되었습니다 . 변경 사항이 적을 때만 유효합니다. (VirtualBox에서 Ubuntu 14.04에 대해 업데이트 및 테스트되었으며 이전 릴리스의 편집 개정을 확인하십시오)
내 목표는 PartedMagic 4.5 였으며 우분투 또는 Linux 배포판과 비슷해야합니다.
DHCP 및 TFTP 패키지 설치
sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
DHCP 설정
/etc/default/isc-dhcp-server
DHCP 서비스를위한 이더넷 인터페이스 편집
INTERFACES="eth0"
DHCP 서비스 구성이 편집 /etc/dhcp/dhcpd.conf
되었거나 /etc/ltsp/dhcpd.conf
존재합니다
PXE 특정 구성 : filename
&next-server
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.50 192.168.10.100;
option subnet-mask 255.255.255.0;
option routers 192.168.10.123;
option broadcast-address 192.168.10.255;
filename "pxelinux.0";
next-server 192.168.10.123;
}
고정 IP 설정 eth0
, 192.168.10.123
데스크탑 에디션 또는 네트워크 관리자를 사용하여 내 경우에는 /etc/network/interfaces
서버 에디션.
auto eth0
iface eth0 inet static
address 192.168.10.123
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
네트워크 인터페이스를 다시 초기화하십시오.
sudo ifdown eth0
sudo ifup eth0
서비스를 다시 시작하십시오
sudo service isc-dhcp-server restart
상태를 확인하세요
netstat -lu
산출
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:bootpc *:*
TFTP 설정
편집 /etc/inetd.conf
하고 줄 #<off>#
의 시작 부분에서 제거 tftp
하거나 #:BOOT:
주석 이 없으면 추가하십시오 . (systemd, 15.10 이상으로 건너 뛰십시오)
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
부팅 서비스 활성화 inetd
sudo update-inetd --enable BOOT
서비스 시작
sudo service openbsd-inetd restart
sudo service tftpd-hpa restart
상태를 확인하세요
netstat -lu
산출
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:tftp *:*
PXE 부팅 파일 설정
압축을 풉니 다 pmagic-pxe-4.5.zip
. 경우 pxelinux.0
가없는에서 그것을 얻을 sysliux-common
설치 패키지 /usr/lib/syslinux/pxelinux.0
, SYSLINUX 프로젝트 또는 우분투을 Netboot 이미지 .
그것들을 비슷한 구조로 놓으십시오.
/var/lib/tftpboot/
|-- pxelinux.0
|-- pxelinux.cfg/
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
/var/lib/tftpboot/pxelinux.cfg/default
예제 경로가 필요한 경우 편집 : pmagic/bzimage
&pmagic/initramfs
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
올바른 권한 설정
sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \;
sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
한 번에 변경 BIOS 부팅 순서를 사용 F9하거나 F12, BIOS 구성에서 영구 설치를 위해 DEL, F2또는 F12. (기계 브랜드에 따라 다름)
맨 위로 이동 : [PXE | NIC | LAN | Ethernet | Network]
.
inetutils-inetd
또는 xinetd
대신에 사용할 수 있지만 openbsd-inetd
일부 inetd
단계가 다릅니다.
TFTP 루트 디렉토리는에서 변경 될 수 있습니다 /etc/default/tftpd-hpa
. 업데이트 /etc/inetd.conf
도 잊지 마십시오 .
SSH (SFTP), SMB, NFS ... Ubuntu 지원 NFS와 같은 많은 프로토콜을 통해 RAMDisk 로딩을 지원하는 많은 배포판.
일부 오래된 네트워크 카드는 PXE를 지원하지 않습니다 . 플로피 디스크, USB 드라이브, 하드 디스크 ( 파티션) 또는 ROM에 플래시 (NIC 지원이 거의 없음 ) 에서 iPXE ( 예 : gPXE 또는 Etherboot )를 사용할 수 있습니다 /boot
. GRUB2에는 PXE를 사용한 부팅을 지원하는 모듈이 있습니다.
Wikipedia : gPXE 및 ROM-O-matic 도 참조하십시오 .
cdimage.ubuntu.com/netboot/의 Ubuntu Netboot 이미지 네트워크에서 Ubuntu 설치를 제공하며 공식 미러 또는 로컬 패키지 (있는 경우)에서 필요한 모든 패키지를 다운로드하도록 요청합니다.
대부분의 사용자는 PXE를 통해 라이브 이미지를 부팅하려고합니다. 이 질문은 PXE 서버를 설정하기위한 것입니다. 참조 우분투 위키 : 설치 - localnet에
PXE 메뉴는 사용자 정의 할 수 있으며 Ubuntu NetBoot 에서 배울 수있는 최상의 템플릿 입니다. Pxeboot Multiple 이미지 참조
memdisk
PXE를 통해 ISO 또는 플로피 디스크 이미지를 직접로드하는 데 사용할 수 있습니다. syslinux-common
패키지에 사본이 있습니다. 클라이언트에는 이미지와로드 된 OS를 실행하기위한 부분을 담을 수있는 충분한 RAM이 있어야합니다.
구성 예 :
/var/lib/tftpboot/
|-- FDSTD.144
|-- memdisk
|-- pxelinux.0
|-- slitaz-cooking.iso
|-- pxelinux.cfg
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
/pxelinux.cfg/default
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
LABEL slitaz
MENU LABEL ^Slitaz.iso
TEXT HELP
Testing boot from iso.
ENDTEXT
KERNEL memdisk
APPEND initrd=slitaz-cooking.iso
LABEL freedos_std
MENU LABEL ^FreeDOS STD
TEXT HELP
Testing boot from Floppy IMG.
ENDTEXT
KERNEL memdisk
APPEND initrd=FDSTD.144
오리지널 개발자가 상용화하기로 결정한 후 PartedMagic 패키지는 공식 사이트에서 삭제되었으며 일부 릴리스는 토런트 네트워크를 통해 찾을 수 있습니다. 내 대답은 저에게 효과적 인 첫 번째 PXE 설정의 이력서입니다. Ubuntu Netboot Image 는 동일한 지침으로 작동해야합니다.
netstat -lu | grep tftp
는 청취 모드에서 보여줍니다. / tftpboot 폴더는 777이지만 tftp> get pxelinux.0
클라이언트에서 시도 하면 항상 tftp가 나타납니다. pxelinux.0 : 권한 거부 오류. 디버깅 아이디어가 있습니까? 미리 감사드립니다.
/var/lib/tftpboot/
755 (기본값)는 정상 입니다. 모든 내용을 읽을 수 있도록 pxelinux.0
644가 있거나 실행 중인지 확인하십시오 sudo chmod -R +r /var/lib/tftpboot/
.
filename "pxelinux.0";
... 코멘트를 추가 한 후 DHCP 서비스를 다시 시작하는 것을 잊었습니다 . 건배