PXE Server 구축 하기
====목차====
0. PXE-server 스팩
1. 설치 OS
2. 디스크 구성
3. DHCP 설정
4. TFTP 설정
0. PXE-server 스팩
서버 |
CPU |
MEM |
SSD |
SATA |
HBA |
SP7-2104GS |
E5-2620v4 |
16GB ddr4 |
240GB |
2TB |
3008IR |
1. 설치 OS : 7.6
2. 디스크 구성
4. DHCP 설정
설치 방법 : yum install dhcpd*
구성 방법 : cd /etc/dhcp/dhcpd.conf
기존에 있던 설정 파일을 옮길 경우 퍼미션 관련 장애 발생
/sbin/restorecon –v /etc/dhcp/dhcpd.conf 등록해준다
service dhcpd start
ddns-update-style 네임 서버의 동적 업데이트 결정하며
pxe설정은
allow booting
allow bootp
를 써준다.
next-server 은 초기 부팅되어 있는 서버의 호스트 주소를 지정하는 함 그 주소에 있는 정보를 로드할 수 있음
Filename 문 << 이 여기에 next-server에 받아올 파일들을 위치 시켜준다.
매개 변수들 참조 : https://man.openbsd.org/dhcpd.conf.5
서버의 성공 화면 dhcpd가 클라이언트에게 ip주소를 뿌려주는 로그가 보인다.
클라이언트 성공적용 화면
5. TFTP 설정
관련 패키지들을 yum install을 통해 깔아준다 xinetd, tftp-server , syslinux
그 후 재부팅후에 자동실행인 ntsysv 을 통해 Tftp랑 xinetd 을 체크해준다.
Tftp 설정 방법
파일 위치 : /etc/xinetd.d/tftp
Disable = yes >> no #사용 할지 안할지 설정
Server_args = -v –s /디랙토리명 지정
앞서 syslinux를 설치 하여 생긴 /tftpboot 디랙터리를 경로에다가 복사해준다
권한 설정은 755로 맞춰준다.
/tftpboot 경로에 pxeliuxe.0란 파일이 dhcpd로 인해 불러오면서 .cfg 디렉터리에 있는 default 에 설정된 값들을
뿌려주기 때문에 만들어 주어야 한다.
부팅중 TFTP TIME OUT이 발생하는데 방화벽 문제 이거나 TFTP가 제대로 작동을 안하여 발생하는 문제다
전자 같은 경우
방화 벽을 꺼준다 systemctl stop iptables.service
후자 같은 경우에는 다른 클라이언트 서버로 TFTP가 작동되는지 확인한다
파일 가져오기
tftp (ip입력)
>>get (파일이름)
확인을 했는데 원활한 통신이 안된다. 찾아보니 7버전 이상에선 xinetd가 아니라 systemctl에서 관리 하는거 같아보였다.
root@localhost /]# systemctl status tftp.service
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: active (running) since KST; 25s ago
Docs: man:in.tftpd
Main PID: 23492 (in.tftpd)
Tasks: 1
CGroup: /system.slice/tftp.service
└─23492 /usr/sbin/in.tftpd -s /var/lib/tftpboot
6월 10 18:42:46 localhost.localdomain systemd[1]: Started Tftp Server.
퍼미션이 자꾸 죽길래 상태 확인해봄 분명 설정을 맞췄고 했는데 뭐가 꼬였는지 매인디렉터리가 안바뀌는 상황임
[root@localhost /]# /usr/sbin/in.tftpd -s /tftboot –vvv
강제로 넣어버림
그래도 안되는 상황
[root@localhost /]# vim /usr/lib/systemd/system/tftp.service
경로를 찾아서 아예 바꿔버림
systemctl cat tftp.service
# /usr/lib/systemd/system/tftp.service
[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd
[Service]
ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot
StandardInput=socket
[Install]
Also=tftp.socket
Warning: tftp.service changed on disk. Run 'systemctl daemon-reload' to reload units.
데몬을 수정 후 유닛 로드
systemctl status tftp.service
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: active (running) since 수 2020-06-10 18:54:22 KST; 14s ago
Docs: man:in.tftpd
Main PID: 23829 (in.tftpd)
Tasks: 1
CGroup: /system.slice/tftp.service
└─23829 /usr/sbin/in.tftpd -s /tftpboot -vvv
만족스럽게 바뀌었고 정상적 부팅이 됨.
정상적으로 가져와 졌으면 tftp에는 문제가 없는것이며 systemctl을 통해 로그를 분석해보자
'리눅스' 카테고리의 다른 글
(2) Linux에서 디스크 확인과 구조 (0) | 2020.09.18 |
---|---|
(1) Linux 사용 서버의 기초 확인 방법 (0) | 2020.09.18 |
PXE server 구축 (pxe 서버 구축) (0) | 2020.06.09 |
linux (centos7) 에서 ip, bond 설정 (0) | 2020.06.09 |
[눈꼽팁]bash 쉘환경에서 변수 저장 후 활용법 (0) | 2020.01.21 |