우분투: 네트워크 설치. PXE - 모든 것을 로드 중입니다! 로컬 네트워크를 통한 멀티부팅 마스터하기 네트워크를 통해 Linux 설치

이 문서에서는 네트워크 부팅 저장소에서 Ubuntu Linux를 설치하는 방법을 다룹니다.

따라서 네트워크 부팅 서버와 dhcpd를 호스팅하는 서버 192.168.0.3의 클라이언트 컴퓨터에 Ubuntu 10.04를 설치합니다. 설치하려면 저장소에 dists/lucid/main/debian-installer 디렉터리가 있어야 합니다. 다른 리포지토리(다중 우주, 유니버스, 제한됨)에 대해 유사한 디렉터리를 추가하면 "소프트웨어 선택 및 설치" 단계에서 소프트웨어 목록이 더 커집니다. 이 가이드에서는 이 옵션을 고려할 것입니다. 디미러 미러를 만들었다면 이러한 디렉토리가 전혀 없을 가능성이 높습니다. 예를 들어 ftp://mirror.yandex.ru에서 다운로드할 수 있습니다. 또한 설치 중에 선택한 저장소에 관계없이 설치 프로그램이 security.ubuntu.com에 액세스하는 경우가 많습니다.

1단계: 서버 설치

필요한 애플리케이션 설치:

apt-get 설치 tftpd-hpa openbsd-inetd

네트워크 설치를 위해 이미지를 다운로드하고 압축을 풉니다.

tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/

chown -R 아무도:그룹 없음 /var/lib/tftpboot

네트워크 부팅의 경우 부팅 파일 이름과 부팅 파일 서버라는 두 가지 매개변수를 클라이언트에 전달해야 합니다(dhcpd에서는 파일 이름과 next-server 매개변수임).

다음 서버 192.168.0.3;
파일 이름 "pxelinux.0";

서버가 설치되면 시스템을 설치할 수 있습니다.

2단계: 시스템 설치

네트워크의 서버에서 시스템을 설치하려면 BIOS에서 네트워크 부팅(PXE)을 활성화해야 합니다. BIOS가 부팅 메뉴를 지원하는 경우 이를 사용하여 부팅 장치를 선택하는 것이 좋습니다. 그러면 부팅 순서 변경을 잊어버린 경우에도 문제가 발생하지 않습니다.

모든 것이 정상이면 설치 프로그램 시작 화면이 표시됩니다.

  • 기본 우분투 서버
  • 네임서버(DNS)
  • 에듀분투 서버
  • 램프 서버
  • 메일서버
  • OpenSSH 서버
  • PostgreSQL 데이터베이스
  • 인쇄 서버
  • 삼바 파일 서버
  • 우분투 엔터프라이즈 클라우드
  • 가상 머신 호스트
  • 2D/3D 생성 및 편집 제품군
  • 오디오 생성 및 편집 제품군
  • Edubuntu KDE 데스크탑
  • 에듀분투 데스크탑
  • 쿠분투 데스크탑
  • 쿠분투 넷북
  • LADSPA 및 DSSI 오디오 플러그인
  • 다양한 글꼴 패키지 선택
  • Mythbuntu 추가 역할
  • Mythbuntu 프론트엔드
  • Mythbuntu 마스터 백엔드
  • Mythbuntu 슬레이브 백엔드
  • 우분투 넷북
  • 우분투 데스크탑
  • 비디오 제작 및 편집 제품군
  • 주분투 데스크탑
  • 수동 패키지 선택

이 기사에서는 Thinstation Linux 배포판의 제어 하에 실행되고 Windows 2000 기반 응용 프로그램 서버를 사용하여 "씬 클라이언트" 네트워크를 배포하는 프로세스를 자세히 조사합니다.

네트워크 부팅으로 디스크 없는 Linux 스테이션 사용

잡지 "System Administrator"에 처음 게재됨 N11/2004

문제의 공식화

자동화 부서 직원의 작업은 사용자, 사용 중인 소프트웨어 개발자 및 조직 관리가 번갈아 제시하는 문제 및 문제 해결과의 끊임없는 투쟁입니다. 그리고 처음 두 작업 영역이 단순히 "선박의 생존 가능성을 위한 투쟁"이라면 마지막 영역은 일반적으로 진보적인 전진입니다. 이 기사가 탄생한 것은 이러한 문제 중 하나를 해결하는 과정에서였습니다.

따라서 자동화 부서는 각각 5~10명으로 구성된 두 개의 새로운 원격 사무실을 신속하게 시운전하는 임무를 맡았습니다. 두 사무실과 "헤드"는 VPN 기술을 통해 하나의 네트워크로 연결되었습니다. 세 지점 사이의 최소 채널 폭은 256Kbps로 우리의 요구 사항을 완전히 충족했습니다. 추가 Windows 2000 도메인 컨트롤러가 각 사무실에 배포되었으며 도메인은 트래픽을 최소화하기 위해 여러 사이트로 나누어졌습니다. 위에서 설명한 모든 것은 표준 솔루션이며 여기서는 어떤 놀라움도 기대하지 않았습니다. 우리의 주요 질문은 조직 직원의 주요 작업 환경, 즉 한 현장 내에서도 작업할 때 상당한 문제가 있는 복잡한 자동화 시스템이 어떻게 작동할 것인가였습니다. 원래 네트워크를 Windows로 마이그레이션한 후 Novell/BTRIVE 6.15를 대상으로 했으나 Windows/Pervasive.SQL 7에서 실행되었습니다.

일주일 동안 조직의 주요 비즈니스 애플리케이션을 테스트한 결과, 사용된 자동화 시스템의 내장 터미널 모드가 우리에게 적합하지 않았기 때문에 개발자가 우리에게 선택권을 전혀 남기지 않은 것으로 나타났습니다. 이유. 이번에도 운영 기능으로 인해 Microsoft Windows Server 플랫폼이 터미널 서버로 선택되었습니다. "기본" Windows 터미널 서비스 작업이 완전히 만족스러웠고 추가 기능을 사용하면 전체 시스템 비용만 증가하기 때문에 Citrix 솔루션을 테스트하지 않았습니다.

서버 부분에서 모든 것이 결정되었을 때 시스템의 클라이언트 구성 요소에 대한 질문이 생겼습니다. 우선, 원격 사이트에 전담 관리자를 둘 계획이 없었기 때문에 사용자 시스템을 관리할 필요성을 줄이고 싶습니다. 또한, 단말기 라이센스 구매 필요성으로 인해 증가된 솔루션 비용을 줄이는 것이 바람직해 보였습니다. 또한 사무실에 32MB에서 64MB의 RAM을 갖춘 오래된 Celeron-400급 컴퓨터를 배치하려는 의도도 고려해야 했습니다.

모든 관점에서 볼 때 네트워크 로딩이 있는 디스크 없는 스테이션을 워크스테이션으로 사용하는 것이 이상적인 것으로 나타났습니다. 이 경우 관리자의 주의가 필요한 유일한 컴퓨터는 VNC를 통해 제어되는 각 사무실의 추가 도메인 컨트롤러입니다. 이 기사의 틀 내에서 트래픽 암호화, 인터넷 액세스 등을 제공하는 장비와 소프트웨어에 대한 관심을 생략한다는 것은 말할 필요도 없습니다.

네트워크를 통해 워크스테이션에 로드될 OS의 역할에서 저는 Linux를 선택했습니다. 이는 (적어도 현재로서는) 라이센스된 솔루션의 순수성을 보장합니다. Windows 2003 데스크톱에 대한 액세스는 이 문제를 해결하기 위한 표준이 된 www.rdesktop.org 프로젝트의 개발을 통해 달성될 예정이었습니다. 이러한 로딩에 필요한 DHCP 및 TFTP 서버는 각 사이트에서 이미 사용 가능한 추가 Windows 2000 도메인 컨트롤러를 사용하는 것이 합리적입니다. 다행히도 이 운영 체제와 내장 서버에 대한 무료 DHCP/TFTP 구현이 있습니다. . 그러나 TFTP는 RIS(원격 설치 서비스) 내에서 사용할 수 있습니다.

클라이언트 시스템의 네트워크 카드는 Etherboot/PXE를 통한 부팅 기능을 자연스럽게 지원해야 합니다. 어떤 경우에는 하드웨어 비호환으로 인해 플로피 디스크에 있는 부트로더의 사용을 허용했습니다.

Linux 구현 선택

네트워크를 통해 부팅할 수 있는 Linux OS 옵션을 선택할 때 먼저 내장된 rdesktop 패키지와 유사한 초점을 갖춘 기성 배포 키트에 주의를 기울였습니다. 그 중 가장 유명한 것은 2002년 말부터 베타 버전으로 동결된 NetStation(netstation.sourceforge.net)과 그 후속 제품인 PXES(pxes.sourceforge.net), Thinstation(thinstation.sourceforge.net)입니다. DIET-PC(diet-pc.sourceforge.net). 동시에 DIET-PC는 주로 Linux OS에 익숙한 사용자를 대상으로 하므로 고려 대상에서 즉시 제외됩니다. 설정 절차가 매우 힘들고 DIET-PC에는 Linux 전문가가 아닌 단순한 필사자에게는 절대 필요하지 않은 많은 설정이 포함되어 있기 때문입니다. PXES는 자체 그래픽 환경을 포함하여 많은 추가 기능을 갖춘 가장 "고급"된 제품입니다. 제 경우에는 이 환경도 불필요합니다. 내 구성에서는 클라이언트가 중간 메뉴를 우회하여 즉시 원격 데스크톱을 로드하고 Windows 2003 Server 비밀번호 입력 창으로 이동해야 했습니다. 그래서 남은 배포판인 Thinstation에 관심을 돌렸습니다.

그 기능을 간략하게 살펴 보겠습니다.

X, RDP, VNC, SSH, Telnet, ICA 및 Tarantella 프로토콜 지원;

Firefox 브라우저 사용 능력;

16MB RAM을 갖춘 x86-100MHz 클래스의 PC에서 작업합니다.

사전 빌드 이미지의 존재 및 웹 인터페이스를 통한 자체 조립 가능성

로컬 디스크, USB 및 LPT 프린터 지원

모든 부팅 옵션 중에서 가장 간단한 것은 Etherboot 부트로더를 사용하는 PXE입니다. 이 문서에서는 미리 컴파일된 이미지를 사용하는 가장 간단한 경로를 따릅니다.

설치 및 초기 설정

마지막 아카이브인 공식 웹사이트의 링크를 통해 사용할 수 있는 http://struktur.kemi.dtu.dk/thinstation/download/ 페이지에서 다운로드하는 것부터 시작하겠습니다. 제 경우에는 Thinstation-2.0.2-였습니다. 사전 구축된 NetBoot .zip. 아카이브에는 초기 설정 및 구성에 편리한 TFTP/DHCP 서버 Tftpd32를 포함하여 필요한 모든 것이 포함되어 있습니다. 그건 그렇고, 그것을 사용한다면 더 최신 버전이 있는 홈페이지에서 즉시 업데이트하는 것이 좋습니다. 그런데 Tftpd32(http://tftpd32.jounin.net/)는 그 자체로 훌륭한 프로그램입니다. 회사 고객의 일부 요구 사항에 대해 Cisco에서 권장할 정도입니다.

아카이브를 확장하면 다음과 같은 5개의 디렉터리가 생성됩니다.

BootDisk – 지원되지 않는 네트워크 카드가 있는 PC용 Etherboot 부트로더가 포함된 플로피 디스크 이미지

BootPXE – Etherboot 에뮬레이션을 위한 PXE 부트로더

BuildFiles - 구성 파일의 예

TFTp – Tftpd32 서버

TftpdRoot – TFTP 서버의 루트 디렉터리

따라서 먼저 하나의 단일 Thinstation.nbi 파일이 포함된 자동 압축 풀기 아카이브 Thinstation.nbi(autoextract).exe를 실행합니다. 이 아카이브는 귀하가 "CITRIX(R) 라이센스 계약"을 숙지할 수 있는 기회를 제공하기 위해 만들어졌습니다.

이제 TFtp 및 TftpdRoot를 네트워크 세그먼트의 Windows 서버에 복사합니다. Tftpd32를 사용하면 고정 IP 주소를 가진 모든 Windows 시스템이 이러한 서버로 작동할 수 있습니다. 두 디렉터리를 모두 C:\ 드라이브에 복사했다고 가정해 보겠습니다. 실행을 위해 C:\TFtp\Tftpd32.exe를 시작합니다. 프로그램 창의 모습이 그림에 나와 있습니다.

서버 매개변수를 설정해야 합니다. "설정" 버튼을 클릭하고 "기본 디렉터리"로 "C:\TftpdRoot" 값을 입력합니다. 다음으로 "DHCP 서버" 탭으로 이동합니다. 여기에서 DHCP 서버가 할당한 시작 IP 주소("IP 풀 시작 주소"), 주소 풀 크기("풀 크기"), 서브넷 마스크("마스크"), 이름을 지정해야 합니다. Etherboot 로더가 포함된 파일(“부팅 파일”), 우리의 경우에는 Thinstation.nbi.zpxe입니다. 설정을 저장하고 애플리케이션을 닫으려면 "저장" 버튼을 클릭하세요.

모든 것이 준비되었습니다. 스테이션의 BIOS에서 부팅 순서를 설정하는 것을 기억하면서 PXE 부팅을 지원하는 네트워크 카드가 있는 시스템 중 하나를 켜볼 수 있습니다. 전원을 켜면 기기는 할당된 범위에서 IP 주소를 얻고 TFTP를 통해 Thinstation.nbi.zpxe 파일을 다운로드해야 합니다. 여기에는 Etherboot를 지원하는 네트워크 카드의 작동을 에뮬레이트하는 부트로더가 포함되어 있습니다. 그런 다음 부트로더로 제어권이 넘어가고 부트로더는 다시 한번 DHCP를 통해 주소를 요청하고 부트로더 자체의 파일 이름에서 zpxe 확장자를 제외한 이름, 즉 Thinstation.nbi와 일치하는 파일을 다운로드합니다. 이 파일은 Thinstation 이미지입니다. 이미지가 로드되면 Thinstation은 TFTP 서버의 루트 디렉터리에서 구성 파일 Thinstation.conf를 로드한 다음 Thinstation.conf를 로드하려고 시도합니다. 이러한 파일이 발견되면 Thinstation은 해당 내용을 위에 나열된 두 파일과 달리 TFTP 서버에 있어야 하는 일반 구성 파일인 Thinstation.conf.network와 결합합니다. 기본 설정 파일과 그룹별 또는 스테이션별 파일 간의 충돌을 피하십시오. 또한 전체 IP 및 MAC 주소 그룹을 하나의 구성 파일과 결합할 수 있습니다. 이는 다음 형식의 Thinstation.hosts 파일을 사용하여 수행됩니다.

# 호스트 MAC 그룹 설명 ws-oper1 0002B3655065 hi_res # 연산자 번호 1 ws-oper2 0002B3651075 hi_res # 연산자 번호 2 ws-oper3 0002B365A021 hi_res ssh_en # 연산자 번호 3

이 예에서는 Thinstation.conf.group-hi_res 및 Thinstation.conf.group-ssh_en이라는 두 개의 파일이 있다고 가정합니다. 첫 번째 파일에 지정된 설정은 세 스테이션 모두에 적용되고, 두 번째 파일의 설정은 ws-oper3 컴퓨터에만 적용됩니다.

그림에서 터미널 서비스 관리자 스냅인에 터미널 클라이언트 세션이 어떻게 표시되는지 확인할 수 있습니다.


ts_와 같은 이름을 가진 클라이언트는 Thinstation을 실행하는 클라이언트 터미널일 뿐입니다. P와 같은 이름을 가진 클라이언트는 PXES 배포판에서 실행되는데 이는 이 기사의 범위를 벗어납니다. 다음으로 간단하지만 완전한 기능을 갖춘 구성 파일 버전을 설명과 함께 제공하겠습니다. # 세션 옵션 # # 첫 번째 세션은 숫자 0부터 시작해야 합니다. # 세션을 선택할 필요가 없는 경우, 예를 들어 rdesktop만 사용하는 경우 # 다음 매개변수의 주석 처리를 해제하고 # 세션 선택 메뉴를 제외할 수 있습니다. #AUTOSTART=On SESSION_0_TITLE="Windows 2003 터미널 서버(16비트 색 심도)" SESSION_0_TYPE=rdesktop SESSION_0_RDESKTOP_SERVER=192.168.0.1 SESSION_0_RDESKTOP_OPTIONS="-u Administrator -p password -a 16" SESSION_1_TITLE="VNC 서버" SESSION_1_TYPE=vncviewer SESSION_1_VNCVIEWER_SERVER=192.168.0.2 SESSION_2_TITLE="텔넷 서버" SESSION_2_TYPE=telnet SESSION_2_TELNET_SERVER=192.168.0.3 SESSION_3_TITLE="SSH 서버" SESSION_3_TYPE=ssh SESSION_3_SSH_SERVER=192.168.0.4 # Общие опции # # Раскладка клавиатуры. В случае работы с rdesktop она роли не играет KEYBOARD_MAP=en_us # Опции XServer # SCREEN_RESOLUTION="1024x768" SCREEN_COLOR_DEPTH="16" SCREEN_HORIZSYNC="30-64" SCREEN_VERTREFRESH="56-87" MOUSE_RESOLUTION=100 # Опции печати # PRINTER_0_NAME=usb PRINTER_0_DEVICE=/dev/usb/lp0 PRINTER_2_TYPE=U !}

기사의 결론적으로 터미널 클라이언트 작업을 디버깅한 후 TFTP 및 DHCP 서버의 기능을 Windows NT/2000/2003/XP의 서비스 모드에서 작동할 수 있는 소프트웨어로 전송하는 것이 가장 좋다고 말하고 싶습니다. 예를 들어 이미 말했듯이 "기본" Windows 서비스를 사용하거나 다른 운영 체제의 해당 서비스를 사용합니다.


또한 웹 인터페이스를 사용하는 프로젝트 웹사이트 Thinstation.sourceforge.net에서 사전 빌드 이미지에 누락된 기능(예: 브라우저)을 포함하거나 불필요한 모듈을 제외하는 소스 코드를 다운로드하지 않고도 Thinstation 이미지를 독립적으로 다시 컴파일할 수 있습니다.

안드레이 마켈로프. Andrey Markelov (www.markelov.net) - 네트워크 로딩이 있는 디스크 없는 Linux 스테이션 사용

이 문서에서는 플로피/HDD 디스크 이미지(1.44MB 이외의 크기 사용 가능)를 사용하여 네트워크를 통해 컴퓨터를 부팅하는 방법을 게시합니다. 이는 다른 부팅 가능한 미디어가 없거나 특정 조건에서 쉽게 사용할 수 있는 경우 필요할 수 있습니다. 이 방법들은 실제 상황에서 적어도 한 번은 성공적으로 시도되었으며, 다른 사람을 알고 있다면 사이트 관리자에게 옵션을 보내십시오. 기존 방법을 단순화하는 방법을 알고 있다면 옵션을 방법 작성자에게 보내거나 게시하십시오.

방법 1: Thinstation 및 RIS 서버

OSZone 컨퍼런스에 참석한 한 참가자가 작성한 네트워크 다운로드에 관한 기사를 소개합니다.

머리말

나는 이런 상황을 겪었습니다. 그들은 거의 살아있지 않은 컴퓨터인 Asus S200을 가져왔는데, 나중에 밝혀진 바에 따르면 정말 작은 일이었습니다. 디스크는 적절하게 분할되었으며(두 개의 파티션) 이전 사용자 지정 프로그램 덕분에 두 번째 파티션에는 Windows 배포 키트가 포함되어 있어 작업이 더 쉬워졌습니다.

그래서 우리는 플롭과 CDROM이 없는 컴퓨터를 갖게 되었습니다. SIS900 네트워크 카드가 있습니다. BIOS에는 HDD, USB 플로피, USB 플래시, USB CDROM 및 네트워크를 통해 부팅할 수 있는 기능이 있습니다.

고통이 시작될 당시 그는 플래시 드라이브만 가지고 있었지만 부팅을 거부했습니다. USB CD나 플로피를 구할 수 없었습니다. 이제 남은 것은 네트워크 로딩뿐이었습니다. 그건 그렇고, 나중에 밝혀진 것처럼 USB 플롭만이 실제로 도움이 될 것입니다. USB CD가 인식되지 않았습니다.

MS 문서와 자동 설치 포럼을 읽는 동안 RIS라는 약어와 네트워크 카드에서 부팅하여 축을 설치할 수 있다는 언급을 발견했습니다. 그래서 나는 그것을 확인하기로 결정했습니다. RIS를 설치하고, 이미지를 만들고, DHCP를 구성했는데... 정말 당황스러웠습니다. 시스템이 실제로 부팅되고 설치의 텍스트 부분을 거쳐 코드 0x000000BB로 BSOD에 충돌했습니다. 인터넷에서 발견된 해석에 따르면 문제를 해결하려면 배포판의 네트워크 카드 드라이버를 교체하거나 네트워크 카드를 교체하면 됩니다. 새 버전의 드라이버를 다운로드하고 KB315279와 그에 대한 링크를 읽고 설명대로 모든 작업을 수행했으며 탬버린과 함께 춤을 추는 것은 동일한 코드가 포함된 긴 BSOD로 끝났습니다.

좋아요, 당장 할 수 없다면 지시사항을 읽어보세요. 나는 연구하고 연구한 결과 네트워크를 통해 다운로드하기 위해 거의 모든 디스크 이미지를 사용할 수 있다는 가능성을 발견했습니다.

필요한 것

  • 일반 네트워크 이미지에서 부팅 가능한 네트워크 이미지를 생성하는 유틸리티입니다. 로드 중
  • 펄. 로드 중입니다. (이 버전은 저에게 효과적이었습니다. 다른 버전도 시도해 보세요. 저는 Perl 플레이어가 아닙니다.)
  • 표준 Windows 패키지의 메모장 또는 기타 ASCII 편집기
  • Thinstation. , 파일(8.86MB)(다른 파일이 작동할 가능성이 매우 높습니다)
  • Windows 2000 Server 설치 디스크
  • 팔을 곧게 펴고 배우고 싶은 욕구 :)

시작하자

1 단계

변환 유틸리티를 다운로드하고 압축을 풉니다. 명확성을 위해 D:\BootDisk\에 있습니다.

2 단계

Perl을 다운로드하여 설치합니다.

3단계

플로피 디스크 이미지를 만들거나 미리 만들어진 이미지를 사용하세요.

  • 파일 형식의 부팅 플로피 디스크 이미지가 없으면 MS-DOS로 부팅 플로피 디스크를 삽입하고 D:\BootDisk\MKIMAGE.BAT DOS 명령을 실행합니다. 표준 1.44Mb 드라이브가 지원됩니다.
  • 이미지가 이미 존재하는 경우 부팅 이미지 생성 파일을 수정합니다.
    1. 메모장을 열고 다음 코드를 복사/작성하세요.
      @에코 꺼짐
      CD mknbi-1.4.1-win
      perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\image.dos >..\dos.bin
      rem 다재다능함을 원하시면 맨 윗줄에 댓글을 달아주세요(REM 추가)
      rem을 선택하고 맨 아래 항목의 주석 처리를 해제합니다(REM 제거)(MKIMAGE2 image_name_with_extension 실행).
      rem perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\%1 >..\dos.bin
      CD..
      :끝
      이름으로 저장합니다 MKIMAGE2.BAT
    2. 플로피 디스크 이미지를 D:\BootDisk\image.dos라는 이름으로 복사합니다.
    3. 파일 실행 MKIMAGE2.BAT

4단계

배치 파일이 작업을 완료할 때까지 기다리고 있습니다. 사이즈가 맞는지 확인하면서 도스.빈더 큰 크기 image.dos약 4kb.

5단계

Thinstation의 포장을 풉니다. 아카이브에서 TFtpdRoot\ 파일이 필요합니다. Thinstation.nbi.zpxe. 해당 이름으로 D:\BootDisk\에 복사합니다. dos.bin.zpxe. 이것은 PXE 부트 로더입니다.

6단계

DHCP를 구성합니다(구성된 경우 7단계로 이동). 저는 Win 2000 Server를 가지고 있으므로 이에 대해 설명하겠습니다.

DHCP가 설치되어 있지 않으면 먼저 설치해야 합니다. ( 제어판> - 프로그램 설치 및 제거- 을 선택한 다음 네트워크 서비스, 화합물그리고 체크박스를 체크하세요 DHCP).

DHCP 구성. 제어판 - 관리, 시작하다 DCHP 장비. 선택하다 DHCP 서버우리가 구성하고 싶은 것. 그런 다음 상황에 맞는 메뉴에서 영역 만들기. 나타나는 마법사에서 영역 이름과 설명을 입력합니다. 몇 년 후에 다른 관리자나 귀하가 스스로 알아낼 수 있도록 의미 있는 이름을 지정하십시오. 그런 다음 DHCP를 통해 배포하려는 시작 주소와 끝 주소를 입력합니다. 최대 용량은 동시에 설치된 시스템 수에 따라 다릅니다. 고정 주소가 주소 범위에 포함된 경우 다음 페이지의 제외 목록에 입력할 수 있습니다. 귀하의 재량에 따라 추가로. 영역 옵션 섹션에서 영역을 생성한 후 매개변수를 구성해야 합니다. 066 IP 서버그리고 067 파일명로딩용. 매개변수에서 067 이름을 입력하세요 dos.bin.zpxe.

7단계

RIS 설치 및 구성

제어판 - 프로그램 설치 및 제거 - Windows 구성 요소 추가 및 제거, 체크 표시를 해주세요 원격 부팅 서비스. 설치가 완료되면 다음으로 이동하세요. 관리 - 서비스그리고 서비스 시작 단순화된 FTP 데몬.

8단계

C:\tftpdroot에 파일 복사 dos.bin.zpxe그리고 도스.빈.

9단계

PXE를 통해 네트워크 어댑터에서 부팅하도록 컴퓨터를 설정하고 부팅을 시도합니다.
모든 것이 정상이면 부팅 중인 컴퓨터가 DHCP 서버를 검색한 다음 부트로더에 IP 주소가 할당되었음을 표시하고 이미지에서 부팅이 시작되었음을 표시합니다.

일반 사항

플로피 이미지를 편집/생성하려면 Total Commander용 플러그인인 WinImage를 사용할 수 있습니다.

0. 소개
네트워크를 통한 다운로드는 매우 편리하며 종종 대체할 수 없는 일이기도 합니다. 컴퓨터 케이스를 열 필요가 없습니다(때때로 이것은 일반 PC 장치만큼 쉽지 않습니다). CDROM도 필요하지 않으며 무료 IDE 케이블도 필요하지 않습니다. 플로피 드라이브, USB는 필요하지 않습니다.
로딩 시스템은 변경하기 쉽습니다. 어디에든 "업로드"하거나 적어둘 필요가 없습니다. 그것은 단지 디렉토리입니다.
어떤 이유에서인지 많은 사람들이 이 주제를 두려워하고 기피합니다. 이것은 복잡하고 문제가 많으며 구현하기 어려운 것 같습니다. 사실, 다른 모든 독창적인 것과 마찬가지로 모든 것은 단순합니다.

1. 네트워크를 통해 Linux를 머신에 부팅하려면 무엇이 필요합니까?

  • 머신에는 Intel의 PXE를 지원하는 네트워크 카드가 있어야 합니다. 네트워크 부팅 프로토콜의 다른 구현이 여러 가지 있지만 PXE가 가장 일반적이며 사실상 암시적인 네트워크 부팅 프로토콜입니다.
  • IP 주소를 발급하고 부팅 가능한 커널과 시스템 이미지 자체를 포함하는 구성된 Linux 시스템(호스트 시스템이라고 부르겠습니다). 실제로 이것이 반드시 Linux 시스템일 필요는 없지만 이 방법에서는 이를 암시합니다.
  • 이더넷 네트워크. 호스트 시스템과 피해 시스템은 간단한 크로스오버 케이블을 사용하거나 기존 방법을 사용하여 연결할 수 있습니다. :)
  • 피해자 컴퓨터의 MAC 주소를 알고 있습니다. DHCP 서버 로그에서 보거나 PXE를 통한 부팅이 시작되는 순간 화면에서 직접 다시 쓸 수 있습니다. 또는 이를 사용하지 않고 모든 사람에게 필요한 IP와 이미지를 무차별적으로 발급하도록 DHCP 서버를 구성할 수도 있습니다. . 그러나 이는 완전히 다른 이야기(Google에 잘 설명되어 있음)이며 이 방법의 범위를 벗어납니다.

2. 네트워크 다운로드 프로세스는 어떻게 진행되나요?
빠른 응답:네트워크는 dhcp를 통해 자동 구성되고, 부트로더는 tftp를 통해 로드되며, 이는 tftp를 통해 커널을 로드하고, nfs를 통해 루트 시스템의 나머지 부분을 로드합니다.
자세한 답변: PXE 부팅이 설치된 시스템이 부팅할 때 가장 먼저 하는 일은 서버를 찾기 위해 네트워크에 DHCP 브로드캐스트 요청을 보내는 것입니다. DHCP 데몬이 평화롭게 잠들어 있는 호스트 시스템은 부트로더용 파일의 주소와 경로를 제공합니다. PXE Boot ROM은 수신된 정보를 기반으로 네트워크 어댑터를 구성합니다. 모든 것이 순조롭게 진행되면 부트로더는 TFTP 프로토콜을 통해 로드되고 추가 이벤트 과정을 인계받습니다. 일반적인 계획에서 이벤트는 다음과 같이 더욱 발전합니다. 네트워크를 통해 로드하기 위해 특별히 준비된 Linux 커널은 동일한 TFTP 프로토콜을 사용하여 로드됩니다. 이 경우 부트로더는 NFS 프로토콜을 통해 로드하기 위해 필요한 매개변수를 커널에 전달합니다. 커널은 로드 후 호스트 시스템에 nfs 파티션을 마운트하고 거기에서 시스템을 부팅합니다.

3. 처음부터 모든 것을 설정하고 구축하는 방법은 무엇입니까?
실제 질문 :)
결국 우리에게는 다음이 필요합니다.
a) dhcp, tftp 및 nfs 서버 설치, 구성 및 실행
b) 필요에 따라 chroot 및 구성, 패키지 설치/추가 등을 수행할 수 있는 루트 시스템의 미리 만들어진 이미지와 부트로더
c) 네트워크를 통해 로딩하기 위해 준비된 커널.
따라서 우리 시스템이 Debian이라고 가정하고(그리고 배포판을 올바르게 선택했다는 사실에 기뻐하며) 모든 관련 파일을 /tftpboot 디렉터리에 배치한다고 가정합니다.

0. 디렉토리를 생성하고 pxelinux 부트로더를 설치합니다.
먼저 디렉터리를 만들고 정의해 보겠습니다.
"기본" 디렉터리를 /tftpboot로 설정합니다.
두 개의 하위 디렉터리가 있습니다: boot/(루트 시스템 포함) 및 pxelinux.cfg/(부트로더 설정 포함)

# mkdir /tftpboot # mkdir /tftpboot/boot # mkdir /tftpboot/pxelinux.cfg

# apt-get 설치 syslinux # cp /usr/lib/syslinux/pxelinux.0 /tftpboot/ #

직렬 0 프롬프트 1 시간 초과 99 기본 pxeboot 레이블 pxeboot 커널 bzImage 추가 ip=dhcp nfsroot=192.168.150.126:/tftpboot/boot root=/dev/nfs init=/sbin/init

구문은 lilo.conf의 구문과 유사합니다. 댓글도 필요 없을 것 같습니다.
서로 다른 시스템에 대해 서로 다른 구성을 생성해야 하는 경우 기본값 대신 각 MAC 주소에 대한 파일을 별도로 생성할 수 있습니다. 이에 대한 자세한 내용은 pxelinux 페이지에서 읽을 수 있습니다.

1. 루트 파일 시스템 생성
이것은 가장 흥미로운 질문입니다. 여기서는 문제에 대한 명확한 설명을 공식화할 가치가 있습니다. 시스템은 무엇을 위해 필요합니까? 어떤 소프트웨어가 있어야 하는지, 어떤 하드웨어에서 실행되는지 등을 살펴보세요.
원칙적으로 가장 간단한 다운로드의 경우 몇 메가바이트의 최소 시스템이면 충분합니다. Google에는 이미지를 만들기 위한 수많은 이미지와 가이드가 있습니다.
그것은 구조 시스템일 수도 있고, 어떤 것에 대한 설치 프로그램일 수도 있고, 완전한 데스크탑 시스템일 수도 있습니다.
제 경우에는 거의 모든 하드웨어에서 부팅하고 자체 설치 프로그램을 시작하려면 시스템이 필요합니다. 공간은 신경 쓰지 않기 때문에 기본 최소 데비안 시스템을 설치하기로 결정했습니다. 일단 올바른 배포판을 선택하게 되어 매우 기뻤습니다. 작업은 매우 간단했습니다.

# apt-get install debootstrap ... # debootstrap sarge /tftpboot/boot

완료되면 /tftpboot/boot 디렉토리에는 약 140MB 크기의 완벽하게 작동하고 기능적이며 부팅 가능한 시스템이 포함됩니다. 이 디렉터리에 루트를 지정하고, 패키지를 설치 및 제거하고, rc 스크립트를 변경하는 등 일반적으로 원하는 모든 작업을 수행할 수 있습니다. 이는 Linux 내의 Linux와 같습니다.

2. 커널 생성.
커널을 네트워크를 통해 로드할 수 있으려면 커널을 조립할 때 몇 가지 조건이 필요합니다.
a) "네트워크 옵션 -> IP: 자동 구성 -> dhcp" 옵션을 활성화합니다(다용성을 위해 모든 옵션도 활성화하는 것이 좋습니다).
b) NFS 파일 시스템 지원을 활성화합니다.
c) "FS->네트워크 파일 시스템->NFS를 통한 루트"를 활성화합니다.
이것은 세부 사항의 필수 부분입니다. 나머지는 귀하의 재량에 달려 있습니다. 이 커널에 필요한 것과 필요하지 않은 것. 2단계 로딩 및 initrd 파일의 필요성을 없애기 위해 크기를 인색하지 말고 더 많은 드라이버를 컴파일하여 모듈을 완전히 비활성화하는 것이 좋습니다.

3. DHCP 설정.
서버를 설치합니다:

# apt-get 설치 dhcpd

네트워크의 구성 파일(/etc/dhcpd.conf)을 편집하고 피해자 시스템에 대한 항목을 추가합니다.

호스트 pxeboot(하드웨어 이더넷 08:00:0e:aa:bb:cc; 고정 주소 192.168.150.127; 파일 이름 "/tftpboot/pxelinux.0"; )

머리말.

이것은 오래 전에 발명되었습니다. 어쨌든 지난 세기 말(1998년)에 작성된 기사에서 저자는 네트워크 로딩 아이디어를 낡은 것이라고 부릅니다. 그리고 이것은 놀라운 일이 아닙니다. 네트워크를 통해 운영 체제를 로드하는 것은 모든 관리자의 꿈입니다. 결국, 서버에서 로드된 운영 체제는 항상 "하얗고 푹신한" 상태이며, 전체 제품군에서 플래시 드라이브를 가지고 돌아다니는 대신 서버의 부팅 이미지를 변경하고 업데이트하는 것만으로도 충분합니다. 컴퓨터.

왜 그렇게 좋은 아이디어가 널리 채택되지 않습니까? 복잡성 때문에? 아니요! 네트워크 부팅을 위한 서버는 일반적으로 하나의 구성 텍스트 파일로 매우 간단하게 구성되며, 앞으로는 lanboot_server에서 구성 파일 생성이 자동으로 수행된다고 말씀드리겠습니다. 실제로 이것은 "켜기만 하면 끝이다"로 귀결됩니다.

무엇이 필요합니까?

    로컬 네트워크가 구성되지 않은 경우 구성하십시오. 그런 다음 lanboot start 명령을 자유롭게 실행하면 클라이언트가 부팅될 수 있습니다.

    중지하려면 각각 lanboot stop을 실행합니다. ALTLinux와 Ubuntu에서는 직접 작업하고 필요한 항목을 설치하고 구성해야 합니다.

그러나 그다지 무서운 것은 아닙니다. lanboot 시작 스크립트(/usr/sbin/lanboot)는 다른 Linux 시스템에서도 작동해야 합니다. 예를 들어 Simply Linux(ALT)에서는 스크립트가 올바른 구성 파일을 생성하고 서버가 시작되어 "TFTP 디렉터리"( /var/lib/tftpboot) 결과가 나오지 않았으며 이는 놀라운 일이 아닙니다. 왜냐하면 PuppyRus 파일은 ALTLinux에서 어디에서 왔기 때문입니다.

계속합시다.

무엇으로부터 수집되나요?

네트워크를 통해 Linux를 부팅하려면 tftp 서버(tftp-hpa-5.0이 사용됨), bootp 또는 dhcp(저는 bootp를 처음 사용했지만 dhcp-4.1.1을 선택했습니다) 및 inetd 또는 xinetd(저는 inetd를 선택했습니다. 더 간단합니다).

구성 방법.

1.부팅

    가장 간단합니다.

    클라이언트의 MAC 주소와 연결된 IP를 제공합니다.

    따라서 영구 머신이 있는 네트워크에서만 사용할 수 있습니다.

예 /etc/bootptab

사용된 매개변수:

Td -- TFTP 디렉터리(여기에서 파일이 다운로드됨) - rp -- 루트 경로(서버 루트 경로) - bf -- 부팅 파일(다운로드 가능한 파일) - sa -- 부팅 서버 주소(TFTP 서버 IP) - sm - - 서브넷 마스크(서브넷 마스크) - gw -- 게이트웨이(게이트웨이) - to -- 시간 오프셋(초) - ha -- 하드웨어 주소(하드웨어, MAC 주소라고도 함) # 한 열에 쓸 수도 있고 한 열에 쓸 수도 있습니다. 선. # 모든 클라이언트에 공통되는 설정: .default:td=/var/lib/tftpboot:rp=/var/lib/tftpboot:bf=pxelinux.0:sa=192.168.1.2:sm=255.255.255.0:gw=192.168 . 1.1:to=auto: #또는 so.default:\ td=/var/lib/tftpboot:\ rp=/var/lib/tftpboot:\ bf=pxelinux.0:\ sa=192.168.1.2:\ sm= 255.255 .255.0:\ gw=192.168.1.1:\ to=auto: # 다른 서브넷의 클라이언트에 대한 설정: #.subnet1:sm=255.255.255.0:gw=192.168.0.1:tc=.default: # 각 클라이언트에 대한 개별 설정 (예): #notick:tc=.default:ha=00140B016592:ip=192.168.1.4: #sharick:tc=.default:ha=0123456789ab:ip=192.168.1.2 #bobick:tc=.default:ha=ba9876543210 :ip=192.168.1.5 # 등

2. DHCPD

본격적인 DHCP 서버.

예 /etc/dhcpd.conf

# dhcpd.conf # # 이를 사용하여 동적 DNS 업데이트를 전역적으로 활성화/비활성화합니다. ddns-업데이트 스타일 없음; 서브넷 192.168.1.0 넷마스크 255.255.255.0(옵션 라우터 192.168.1.1; 옵션 서브넷 마스크 255.255.255.0; 옵션 브로드캐스트 주소 192.168.1.255; 범위 동적 부팅p 192.168.1.10 192.168.1.200; 기본값 -임대 시간 21600; 임대 시간 43200; 파일 이름 "pxelinux.0";

3.TFTP

단순화된 프로토콜을 갖춘 파일 서버입니다.

예 /etc/exports

#tftp 부팅 및 nfs 마운트에 허용되는 디렉터리(no_root_squash - 루트 사용자가 허용됨) /var/lib/tftpboot 192.168.1.0/255.255.255.0(ro,no_root_squash,sync)

4. 아이넷드

우리는 이를 tftp 서버와 bootp 서버를 실행하는 데 사용합니다. 그러나 다른 서비스를 시작할 수도 있습니다. 구성 파일 /etc/inetd.conf. 파일은 "모든 경우에 사용할 수 있도록" 깁니다. 따라서 필요한 줄만 인용됩니다.

예 /etc/inetd.conf.

# 이 줄은 tftp 서버를 시작합니다. tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /var/tftpboot # 이 줄은 bootp 서버를 시작합니다 bootps dgram udp wait root /usr/sbin/bootpd bootpd -i

5.Xinetd

기능은 inetd와 동일하지만 설정이 더 복잡합니다. 알트리눅스에 설치되었습니다.

예 /etc/xinetd.conf

# # xinetd에 대한 간단한 구성 파일 # # 일부 기본값 및 /etc/xinetd.d/ 기본값 포함( log_type = SYSLOG authpriv info; log_on_success = PID HOST DURATION; log_on_failure = HOST; 인스턴스 = 100; per_source = 5; only_from = 127.0 .0.1; ) includeir /etc/xinetd.d 실행된 각 프로그램에 대해 별도의 구성 파일이 /etc/xinetd.d에 저장됩니다. 예 /etc/xinetd.d/tftp # 기본값: off # 설명: tftp 서버가 파일을 제공합니다. 간단한 파일 전송\#프로토콜을 사용합니다. tftp 프로토콜은 디스크가 없는 워크스테이션을 부팅하고 \ # 네트워크 인식 프린터에 구성 파일을 다운로드하고 \ # 일부 운영 체제의 설치 프로세스를 시작하는 데 사용됩니다. 서비스 tftp(비활성화 = no; 소켓 유형 = dgram; 프로토콜 = udp; 대기 = 예; 사용자 = 루트; 서버 = /usr/sbin/in.tftpd; server_args = -u tftp -s /var/lib/tftpboot; per_source = 11 cps = 100 2 플래그 = IPv4 only_from = 192.168.1.0 )

자동 설정.

자동 구성의 경우 표준 Linux ifconfig 및 Route 명령의 출력에서 ​​변수를 가져옵니다. 따라서 모든 Linux에서 얻을 수 있습니다.

Serv=$(ifconfig | grep inet | grep -v 127.0.0.1 | cut -f 2 -d ":" | cut -f 1 -d " ") 마스크=$(ifconfig | grep inet | grep -v 127.0.0.1 | cut -f 4 -d ":") Gate=$(route | grep UG | cut -f 10 -d " ") subnet=$(route | grep " U " | cut -f1 -d " ")

이러한 변수는 lanboot 스크립트에 포함된 구성 파일 템플릿의 적절한 위치에 기록됩니다. 스크립트가 실행되면 변수 값이 템플릿으로 대체되고 생성된 구성 파일이 "대상으로" 전송됩니다. 이를 통해 일상적인 작업과 인적 오류도 방지할 수 있습니다. 유일한 필수 조건은 네트워크를 구성해야 한다는 것입니다. 그렇지 않으면 변수 값은 어디서 오는 것입니까?

lanboot 스크립트는 또한 시작에 필요한 PuppyRus 파일을 TFTP 디렉토리(vmlinuz, initrd.gz 및 pup*-200.sfs)에 복사합니다. 파일은 서버가 실행 중인 운영 체제에서 가져오며, 이 시스템이 PuppyRus가 아닌 경우 해당 파일을 가져올 곳이 없습니다. 따라서 다른 Linux 시스템에서는 위 파일을 /var/lib/tftpboot에 수동으로 복사하여 배치해야 합니다.