서버 설정 · 3 min read · Sep 14, 2025

우분투 에지 이프트로 여러 리눅스 배포판을 위한 PXE 설치 서버 설정하기

우분투 에지 이프트로 여러 리눅스 배포판을 위한 PXE 설치 서버 설정하기

버전 1.0
저자: Falko Timme

이 튜토리얼은 우분투 6.10 (에지 이프트)로 PXE (즉, p reboot e x ecution e nvironment) 설치 서버를 설정하는 방법을 보여줍니다. PXE 설치 서버는 클라이언트 컴퓨터가 네트워크를 통해 리눅스 배포판을 부팅하고 설치할 수 있게 해주며, 리눅스 ISO 이미지를 CD/DVD에 굽거나 부팅 플로피 이미지를 사용하는 등의 필요가 없습니다. 클라이언트 컴퓨터에 CD 또는 플로피 드라이브가 없거나, 여러 대의 컴퓨터를 동시에 설정하고 싶거나(예: 대기업에서), 단순히 CD/DVD 비용을 절약하고 싶을 때 유용합니다. 이 기사에서는 여러 배포판을 부팅할 수 있는 PXE 서버를 구성하는 방법을 보여줍니다: 우분투 에지/다퍼, 데비안 에치/사르지, 페도라 코어 6, 센트OS 4.4, 오픈수세 10.2, 만드리바 2007.

먼저 말씀드리고 싶은 것은 이것이 이러한 시스템을 설정하는 유일한 방법이 아니라는 것입니다. 이 목표를 달성하는 방법은 여러 가지가 있지만, 이것이 제가 선택한 방법입니다. 이것이 여러분에게 작동할 것이라는 보장은 하지 않습니다!

1 사전 참고

클라이언트 컴퓨터가 인터넷에서 필요한 모든 패키지를 가져오기 때문에 괜찮은 인터넷 연결이 중요합니다 (저는 16MBit ADSL2+ 연결에서 테스트했으며, 이는 충분히 빠른 것 같습니다. ;-)). 모든 패키지를 PXE 서버에 저장할 수도 있으므로 인터넷 연결이 필요하지 않지만(단지 PXE 서버에 대한 LAN 연결만 필요), 그러면 PXE 서버에 많은 저장 공간이 필요합니다(여러 배포판을 제공할 것이므로), 그래서 여기서는 다루지 않습니다.

가장 중요한 것은 클라이언트 컴퓨터가 네트워크를 통해 부팅을 지원해야 한다는 것입니다. 각 컴퓨터의 BIOS에서 이 옵션을 확인해야 합니다.

PXE 서버로 사용할 시스템에는 이미 기본 우분투 6.10 서버 시스템이 설정되어 있어야 하며, 예를 들어 이 튜토리얼의 1 - 3페이지에 나와 있는 것처럼 설정되어 있어야 합니다: https://www.howtoforge.com/perfect_setup_ubuntu_6.10

저는 여기서 모든 단계를 루트 사용자로 수행하는 것을 선호합니다. 따라서 아직 루트 로그인을 생성하지 않았다면 지금 생성해야 합니다:

sudo passwd root

그 후 루트로 로그인합니다:

su

루트 대신 일반 사용자로 작업하고 싶다면, 이 튜토리얼에 표시된 모든 명령 앞에 sudo를 붙이는 것을 기억하세요. 그래서 제가

apt-get update

를 실행할 때, 여러분은 대신에

sudo apt-get update

를 실행해야 합니다.

2 필요한 모든 패키지 설치

먼저 다음을 실행하여 패키지 데이터베이스를 업데이트합니다:

apt-get update

netkit-inetd, tftpd-hpa, dhcp3-server 및 lftp 패키지를 설치해야 하므로 다음을 실행합니다:

apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp    

그 후 다음을 실행합니다:

netstat -uap

그리고 다음과 같은 내용이 표시되는지 확인합니다:

root@server1:~# netstat -uap
활성 인터넷 연결 (서버 및 설정됨)
프로토콜 Recv-Q Send-Q 로컬 주소           외부 주소         상태       PID/프로그램 이름
udp        0      0 *:tftp

tftp 줄이 보이지 않으면 /etc/inetd.conf를 열고 다음이 있는지 확인하세요:

vi /etc/inetd.conf

| [...] #:BOOT: Tftp 서비스는 주로 부팅을 위해 제공됩니다. 대부분의 사이트는 # "부트 서버"로 작동하는 머신에서만 이 서비스를 실행합니다. tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot [...] |

그런 다음 inetd를 재시작합니다:

/etc/init.d/inetd restart

3 DHCP 서버 구성

로컬 네트워크에 DHCP 서버가 필요합니다. 로컬 네트워크에 DHCP 서버가 없다면, 향후 PXE 서버에서 DHCP 서버를 구성하고 사용하세요. 단순히 /etc/dhcp3/dhcpd.conf를 편집합니다:

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf

vi /etc/dhcp3/dhcpd.conf

| option domain-name-servers 145.253.2.75, 193.174.32.18; default-lease-time 86400; max-lease-time 604800; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |

이 설정은 클라이언트 컴퓨터에 192.168.0.10에서 192.168.0.49 범위의 IP 주소를 동적으로 할당합니다; 게이트웨이는 192.168.0.1입니다. 물론 이 구성을 자신의 환경에 맞게 조정해야 합니다!

구성에 다음 줄이 포함되어 있는 것이 중요합니다:

filename "pxelinux.0";

그런 다음 DHCP 서버를 재시작합니다:

/etc/init.d/dhcp3-server restart 

네트워크에 이미 DHCP 서버가 있는 경우, 해당 서버의 구성을 수정해야 합니다. 다음과 같은 내용이 있다고 가정해 보겠습니다:

| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |

구성에

filename “pxelinux.0”;
next-server 192.168.0.100;

를 추가해야 합니다(여기서 192.168.0.100은 우리의 우분투 PXE 서버의 IP 주소입니다) 그래서 다음과 같이 보이도록 해야 합니다:

| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; filename "pxelinux.0"; next-server 192.168.0.100; } |

그런 다음 DHCP 서버를 재시작합니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.