컴퓨터 지식 네트워크 - 컴퓨터 백과사전 - Linux 네트워크 프로토콜을 사용하여 운영체제를 원격으로 업데이트하는 방법

Linux 네트워크 프로토콜을 사용하여 운영체제를 원격으로 업데이트하는 방법

1. 소개

일반적으로 우리는 리눅스를 부팅할 때 플로피 드라이브나 광 드라이브를 사용하고, 로컬 광 드라이브를 통해 리눅스를 설치합니다. 하지만 다음과 같은 상황에서는 이 설치 방법을 적용할 수 없습니다.

플로피 드라이브나 CD-ROM 드라이브가 없는 경우: 비용 절감을 위해 일반적으로 많은 회사에서는 CD-ROM 드라이브나 플로피 드라이브를 사용하지 않습니다. Linux;

비표준 플로피 드라이브 및 광학 드라이브: 노트북에는 광학 드라이브가 장착되어 있지만 반드시 표준 IDE 장치는 아닙니다. 일부는 1394 인터페이스(예: Samsung의 Q10)를 사용합니다. Linux 설치 중에 부팅되는 Linux 커널에는 일반적으로 이러한 인터페이스용 드라이버가 없으므로 Linux를 로컬로 설치할 수 없습니다.

또한 컴퓨터실과 같은 경우에는 많은 수의 컴퓨터가 있습니다. Linux를 설치할 때 CD-ROM 드라이브를 통해 하나씩 설치하면 비효율적일 뿐만 아니라 유지 관리에도 불리합니다.

작가는 작업을 진행하면서 두 번째 상황에 직면했다. 삼성 Q10 노트북에 Redhat Linux 8.0을 설치해야 하는데, 광드라이브를 통해 부팅한 후, 설치 프로그램이 광디스크에 접근할 수 없는 것으로 나타났습니다. 이런 문제에 대해 저자는 정보를 상담하고 탐색한 끝에 Q10에 리눅스를 설치할 수 있는 방법을 찾았다. 다음 설명에서는 달리 명시하지 않는 한 Q10을 예로 들어 PXE Bootrom을 통해 Linux를 원격으로 설치하는 방법을 소개합니다.

2. 기본 원칙

1) PXE란 무엇인가요?

PXE(Pre-boot Execution Environment)는 Intel에서 설계한 프로토콜로 컴퓨터가 네트워크가 시작됩니다. 프로토콜은 클라이언트와 서버로 구분됩니다. PXE 클라이언트는 네트워크 카드의 ROM에 있습니다. 컴퓨터가 부팅되면 BIOS는 실행을 위해 PXE 클라이언트를 메모리로 전송하고 사용자가 이를 선택하면 명령 메뉴를 표시합니다. PXE 클라이언트는 원격 컴퓨터에 배치되며 운영 체제는 네트워크를 통해 로컬 컴퓨터에 다운로드되어 로컬로 실행됩니다.

PXE 프로토콜이 성공적으로 작동하려면 다음 두 가지 문제를 해결해야 합니다.

네트워크를 통해 전송되므로 컴퓨터가 시작될 때 IP 주소를 누가 구성할지;

p >

Linux 커널과 루트 파일 시스템을 다운로드하는 데 사용되는 프로토콜은 무엇입니까?

첫 번째 문제의 경우 DHCP 서버를 통해 해결될 수 있습니다. DHCP 서버는 PXE 클라이언트에 IP 주소를 할당합니다. DHCP 서버는 DHCP 클라이언트에 IP 주소를 동적으로 할당하는 프로토콜을 사용합니다. 그러나 이는 PXE 클라이언트에 IP 주소를 할당하기 위한 것이므로 DHCP 서버 구성 시 해당 PXE 관련 구성을 추가해야 합니다.

두 번째 질문은 PXE 클라이언트가 위치한 ROM에 TFTP 클라이언트가 이미 존재한다는 것입니다. PXE 클라이언트는 TFTP 클라이언트를 사용하여 TFTP 프로토콜을 통해 TFTP 서버에서 필요한 파일을 다운로드합니다.

이렇게 하면 PXE 프로토콜의 작동 조건이 충족됩니다. PXE 프로토콜의 작동 프로세스를 살펴보겠습니다.

2) 작업 과정

위 그림에서 PXE 클라이언트는 Linux를 설치해야 하는 컴퓨터이고, TFTP 서버와 DHCP 서버는 또 다른 Linux 서버에서 실행됩니다. 부트스트랩 파일, 구성 파일, Linux 커널 및 Linux 루트 파일 시스템은 모두 Linux 서버의 TFTP 서버 루트 디렉터리에 배치됩니다.

PXE 클라이언트에는 작업 프로세스 중에 부트스트랩, Linux 커널 및 Linux 루트 파일 시스템이라는 세 가지 바이너리 파일이 필요합니다. Bootstrap 파일은 사용자에게 간단한 제어 인터페이스를 제공하고 사용자의 선택에 따라 적절한 Linux 커널 및 Linux 루트 파일 시스템을 다운로드하는 실행 프로그램입니다.

3. 단계

이전의 배경 지식을 바탕으로 정식 작업을 시작할 수 있습니다. 작업 단계는 아래 순서대로 제공됩니다.

1) DHCP 구성 서버

ISC dhcp-3.0을 선택합니다. DHCP 서버의 구성 파일은 /etc/dhcpd.conf입니다. 구성 파일의 내용은 다음과 같습니다.

option space PXE; /p>

옵션 PXE.mtftp-ip 코드 1 = IP 주소;

옵션 PXE.mtftp-cport 코드 2 = 부호 없는 정수 16

옵션 PXE.mtftp -스포츠 코드 3 = 부호 없는 정수 16;

옵션 PXE.mtftp-tmout 코드 4 = 부호 없는 정수 8

옵션 PXE.mtftp-delay 코드 5 = 부호 없는 정수 8; /p>

옵션 PXE.discovery-control 코드 6 = 부호 없는 정수 8;

옵션 PXE.discovery-mcast-addr 코드 7 = ip-address; pxeclients" {

부분 문자열(옵션 공급업체 클래스 식별자, 0, 9) = "PXEClient"인 경우 일치;

옵션 공급업체 클래스 식별자 "PXEClient";

vendor-option-space PXE;

# 클라이언트 부팅 ROM이 이를 인식하려면 최소한 하나의 공급업체별 PXE 옵션을

# 순서로 설정해야 합니다. 우리는 PXE 호환

# 서버입니다. 멀티캐스트 TFTP(주소 0.0.0.0)를 제공할 수 없음을 부팅 ROM에 알리기 위해 MCAST IP 주소를 0.0.0.0으로 설정했습니다.

# 주소가 없음을 의미합니다.

option PXE.mtftp-ip 0.0.0.0;

# 이는 부팅 ROM이 다운로드해야 하는 파일의 이름입니다. .

p>

filename "pxelinux.0";

# 다음으로 가져와야 하는 서버의 이름입니다. 서버 192.168.0.1;

}

ddns-update-style 임시;

클라이언트 업데이트 무시

기본 임대- 시간 1200;

최대 임대 시간 9200;

옵션 서브넷 마스크 255.255.255.0

옵션 브로드캐스트 주소 192.168.0.255; >

옵션 라우터 192.168.0.254;

옵션 도메인 이름-서버 192.168.0.1,192.168.0.2;

옵션 도메인 이름 "mydomain.org"; p>

서브넷 192.168.0.0 넷마스크 255.255.255.0 {

범위 192.168.0.10 192.168.0.100

호스트 q10 {

>

하드웨어 이더넷 00: 00:F0:6B:38:5B;

고정 주소 192.168.0.22

}

몇 가지 설명 dhcpd.conf 구성 파일의 주요 부분은 다음과 같습니다. 호스트 q10{…}은 노트북 Q10 네트워크 카드의 MAC 주소와 IP 주소 간의 해당 관계를 정의하며, 이는 DHCP 서버가 Q10에 고정 IP를 할당함을 나타냅니다: 192.168.0.22 ; filename ""은 부트스트랩 파일 이름을 지정합니다. netx-server는 TFTP 서버의 주소를 지정합니다. 다른 구성에 대해서는 DHCP 서버 매뉴얼을 참조하세요.

2) TFTP 서버 구성

tftp-hpa를 선택합니다. TFTP 서버의 구성 파일은 /etc/xinetd.d/tftp입니다. 구성 파일의 내용은 다음과 같습니다.

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

사용자 = 루트

서버 = /usr/sbin/in.tftpd

server_args = -u none -s /tftpboot

disable = no

per_source = 11

cps = 100 2

}

여기서 /tftpboot는 TFTP의 루트 디렉터리 위치로 지정됩니다. 섬기는 사람.

3) 부트스트랩 구성

부트스트랩 파일은 dhcpd.conf에서 pxelinux.0 파일로 지정되고 /tftpboot에 배치됩니다. Linux 커널 및 Linux 루트 파일 시스템도 /tftpboot에 배치됩니다. pxelinux.0을 실행하는 동안 구성 파일을 읽어야 합니다. 모든 구성 파일은 /tftpboot/pxelinux.cfg/ 디렉터리에 있습니다. PXElinux에는 서로 다른 PXE 클라이언트에 대해 서로 다른 Linux 커널과 루트 파일 시스템을 제공하는 기능이 있으므로 서로 다른 PXE 클라이언트의 요구 사항을 구별하려면 서로 다른 구성 파일 이름을 사용해야 합니다. 예를 들어 DHCP 서버가 PXE 클라이언트에 할당한 IP 주소가 192.168.0.22인 경우 해당 구성 파일 이름은 /tftpboot/pxelinux.cfg/C0A80016입니다(참고: C0A80016은 IP 주소 192.168의 16진수 표현입니다. 0.22). 찾을 수 없다면 C0A80016->C0A8001->C0A800->C0A80->C0A8->C0A->C0->C->default 순으로 구성파일을 검색해 보세요.

/tftpboot/pxelinux.cft/C0A80001 구성 파일의 구체적인 내용은 다음과 같습니다:

DEFAULT install

PROMPT 1

LABEL install

KERNEL vmlinuz

APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384

이 구성 파일은 Linux 커널 이름과 루트를 지정합니다. 커널은 일부 매개변수를 전달하며, 그 중 ramdisk_size 매개변수는 Linux 커널이 시작된 후 설정된 램디스크의 크기를 지정합니다. 설정이 너무 작으면 Linux 설치 프로세스가 진행될 수 있습니다. 진행하지 마세요.

4) Linux 커널/루트 파일 시스템 만들기

네트워크를 통해 설치해야 하므로 Redhat Linux에서는 모두 E:imagesootnet.img(CD-ROM 드라이브)를 선택합니다. 8.0 설치 디스크(디스크 #1) 드라이브 문자는 E:)입니다. bootnet.img에는 ​​Linux 커널과 Linux 루트 파일 시스템(설치 프로그램 포함)이 포함되어 있습니다. bootnet.img를 사용하여 DOS 명령줄에서 E:dosutils awrite E:imagesootnet.img를 실행하고 프롬프트에 따라 부팅 플로피 디스크를 만듭니다. 제작이 완료되면 부팅 플로피 디스크에 있는 vmlinuz(Linux 커널)와 initrd.img(Linux 루트 파일 시스템)을 Linux Server의 /tftpboot에 복사합니다.

5) DHCP 서버/TFTP 서버 시작

Linux 서버에서 service dhcpd start 및 service xinetd restart를 실행합니다.

6) Q10 시작

Q10의 전원이 켜진 후 삼성 회사 로고가 나타나면 사용자에게 네트워크 부팅을 시작하기 위해 왼쪽 하단에 있는 F12를 누르라는 메시지가 표시됩니다. F12를 누르면 Q10이 네트워크 부팅 프로세스에 들어갑니다. 먼저 DHCP 서버를 통해 IP 주소를 얻은 다음 실행 중에 부트스트랩 파일 pxelinux.0을 다운로드하여 실행하고 구성 파일 /tftpboot/pxelinux.cfg/C0A80016을 읽습니다. 이때 boot:가 화면에 나타납니다. install을 입력하여 Redhat Linux 8.0의 네트워크 설치 인터페이스로 들어갑니다. 모든 것이 정상입니다!

결론

비록 위의 내용은 다음과 같습니다. 삼성 Q10 노트북의 경우 작동 원리와 설치 방법은 다른 유형의 컴퓨터에도 적용 가능하지만 컴퓨터의 네트워크 카드에는 BootROM-PXE 클라이언트가 있어야 합니다. 동시에 PXE 프로토콜을 디스크 없는 Linux 기술로 사용하여 원격으로 Linux를 부팅할 수도 있습니다. 실제로 필요에 따라 Pxelinux 구성 파일의 APPEND 옵션에서 Linux 커널에 마운트해야 하는 파일 시스템의 위치 매개변수만 전달하면 됩니다.

上篇: Wu라는 이름을 선택하는 데 모두가 도움을 주었습니다. 새 문자가 아닌 3자로 된 이름을 사용하고 싶습니다. 남학생과 여학생 모두 환영합니다. 下篇: USB 키로 PE 를 시작하는 방법은 상세 정보
관련 내용