yumyum

[Linux] PXE 본문

Server

[ PXE 부팅 서버 만들기 ]

# yum -y install syslinux tftp-server vsftpd dhcp xinetd

# systemctl stop firewalld

# systemctl disable firewalld

# setenforce 0

-> 보안 관련 설정

<dhcp 설정> (동적호스트 프로토콜)

# vim /etc/dhcp/dhcpd.conf

subnet 192.168.111.0 netmask 255.255.255.0 {

option routers 192.168.111.2 ;

option subnet-mask 255.255.255.0 ;

range dynamic-bootp 192.168.111.30 192.168.111.50 ;

option domain-name-servers 192.168.111.2 ;

allow booting ;

allow bootp ;

next-server 192.168.111.100 ;

filename "pxelinux.0" ;

}

<tftp 설정>

# vim /etc/xinetd.d/tftp

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /var/lib/tftpboot

disable = no -> yes -> no 수정

per_source = 11

cps = 100 2

flags = IPv4

}

<CD-rom , ftp 마운트>

vm에서 CD 마운트

# df

# umount /dev/sr0

# mount /dev/sr0 /var/ftp/pub/

# cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/

# cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot/

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

-> 파일 3개 복사

# mkdir /var/lib/tftpboot/pxelinux.cfg

# cd /var/lib/tftpboot/pxelinux.cfg

# vim default

DEFAULT CentOS7_Auto_Install

LABEL CentOS7_Auto_Install

kernel vmlinuz

APPEND initrd=initrd.img repo=ftp://192.168.111.100/pub

<데몬 restart>

# ps -ef | grep dnsmasq

# kill -9 1859

grep으로 만든 값만 제외하고 삭제

# systemctl restart dhcpd

# systemctl restart vsftpd

# systemctl restart xinetd

# systemctl enable xinetd

# systemctl enable vsftpd

# systemctl enable dhcpd

가상 컴퓨터 새로 만들어서 테스트

메모리 2GB 필수!!!!!!

[ Kick start ]

# yum -y install system-config-kickstart system-config-keyboard

# system-config-kickstart

기본설정 : 기본언어 : 한국어

시간대 : Asia/Seoul

root 암호 : p@ssw0rd

고급설정 : 설치후 시스템 재부팅 (체크)

설치방법 : 새로운 설치 실행 (체크)

설치소스 : ftp 서버 192.168.111.100

ftp 디렉토리 pub

부트로더 옵션 : 새로운 부트로더 설치 (체크)

파티션 정보 : 마스터 부트 레코드 내용 삭제 (체크)

파티션 : 모든 기존 파티션 삭제

디스크레이블: 초기화

레이아웃 추가 :

/ ext4 1 10240

swap 2048

/data ext4 1(나머지 다)

메뉴 -> 저장

파일시스템, var, ftp에 centos.ks 로 저장

종료

​var/ftp에 centos.ks 로 저장

# vim /var/ftp/centos.ks

-> 설정 확인 후 제일 밑에 패키지 정보 추가

part / --asprimary --fstype="ext4" --size=10240

part swap --fstype="swap" --size=2048

part /data --fstype="ext4" --grow --size=1

 

cf) 파티션 에러났을 때

part /boot --fstype=ext4 --size=20480

part swap --size=2048

part / --fstype=ext4 --grow --size=1

reboot

%packages

@base

@core

@directory-client

@fonts

@gnome-desktop

@input-methods

@internet-browser

@java-platform

@multimedia

@network-file-system-client

@x11

%end

# vim /var/lib/tftpboot/pxelinux.cfg/default

APPEND initrd=initrd.img repo=ftp://192.168.111.100/pub ks=ftp://192.168.111.100/centos.ks

-> ks 부분 추가 수정

 

cf) 패키지 에러 났을때

%packages

@^gnome-desktop-environment

@base

@core

@desktop-debugging

@dial-up

@directory-client

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@input-methods

@internet-browser

@java-platform

@multimedia

@network-file-system-client

@networkmanager-submodules

@x11

chrony

kexec-tools

%end

 

​[고정 ip ]

 

새로운 버츄얼 머신을 생성후에 맥주소 확인 (설정 > 네트워크 어댑터 > 어드벤스드)

centos7에서 dhcp 파일을 수정 -> 맥주소 수정

vim /etc/dhcp/dhcpd.conf

재부팅하고 pxe서버로 접속했을때,

사용자 이름이 pxetest001로 변경되고,

ip가 설정해준 70으로 변경된것을 볼 수 있다.

'ICT기반 클라우드 네트워크 해킹 침해대응전문가 > Linux' 카테고리의 다른 글

[Linux] 메일서버  (0) 2023.09.13
[Linux] DHCP  (0) 2023.09.11
[Linux] Bridge  (0) 2023.09.07
[Linux] 포트포워딩, 브릿지  (0) 2023.09.07
[Linux] HTTPs  (0) 2023.09.06